在分布式redis技术中,当redis集群添加或删除某个集群节点时,如果不采用hash环的存值算法,redis key-value形式的存值特点紧紧根据ip或服务名生成hash key存储会导致数据的丢失,因为key在增加或删除节点时,其hash生成分配的方法会使其他节点原先的某些key在集群节点的位置发生变化,从而导致部分数据失效,因而创造一种hash环算法先造一个hash环,有2³²-1个node节点,然后把集群节点hash到对应的环位置,如果添加或删除节点,只会影响相邻一个节点的数据,由于hash环节点如此之多,所以受影响数据的概率就大大降低,预计只有万分之几左右,由于受影响的数据很少,可通过redis自身的持久化机制及缓存机制恢复,就个人查看资料来看,redis集群在配置文件配置添加节点和删除节点时,已经自带这种算法了,我们使用时直接配置即可,如果想知道hash环算法的同学,自己搜索下相关资料翻阅即可。
一句话说明什么是hash环
最新推荐文章于 2024-01-01 21:56:33 发布