【数据库】redis怎么做集群
2019-11-21数据库搜奇网56°c
A+ A-
Redis Sharding集群
Redis 3正式推出了官方集群手艺,处理了多Redis实例协同效劳题目。Redis Cluster能够说是效劳端Sharding分片手艺的表现,行将键值依据肯定算法合理分派到各个实例分片上,同时各个实例节点谐和沟通,配合对外负担一致效劳。 (引荐进修:Redis视频教程)
多Redis实例效劳,比单Redis实例要庞杂的多,这涉及到定位、协同、容错、扩容等手艺困难。这里,我们引见一种轻量级的客户端Redis Sharding手艺。
Redis Sharding能够说是Redis Cluster出来之前,业界广泛运用的多Redis实例集群要领。其主要头脑是采纳哈希算法将Redis数据的key举行散列,经由过程hash函数,特定的key会映照到特定的Redis节点上。如许,客户端就晓得该向哪一个Redis节点操纵数据。
光荣的是,java redis客户端驱动jedis,已支撑Redis Sharding功用,即ShardedJedis以及连系缓存池的ShardedJedisPool。
Jedis的Redis Sharding完成具有以下特性:
采纳一致性哈希算法(consistent hashing),将key和节点name同时hashing,然后举行映照婚配,采纳的算法是MURMUR_HASH。
采纳一致性哈希而不是采纳简朴相似哈企求模映照的主要原因是当增添或削减节点时,不会发生因为从新婚配形成的rehashing。一致性哈希只影响相邻节点key分派,影响量小。
为了防止一致性哈希只影响相邻节点形成节点分派压力,ShardedJedis会对每一个Redis节点依据名字(没有,Jedis会给予缺省名字)会假造化出160个假造节点举行散列。
依据权重weight,也可假造化出160倍数的假造节点。用假造节点做映照婚配,能够在增添或削减Redis节点时,key在各Redis节点挪动再分派更匀称,而不是只要相邻节点受影响。
ShardedJedis支撑keyTagPattern形式,即抽取key的一部分keyTag做sharding,如许经由过程合理定名key,能够将一组相干联的key放入同一个Redis节点,这在防止跨节点接见相干数据时很主要。
以上就是redis怎么做集群的细致内容,更多请关注ki4网别的相干文章!