为了避免一致性哈希只影响相邻节点造成节点分配压力,ShardedJedis会对每个Redis节点根据名字(没有,Jedis会赋予缺省名字)会虚拟化出160个虚拟节点进行散列。
根据权重weight,也可虚拟化出160倍数的虚拟节点。
用虚拟节点做映射匹配,可以在增加或减少Redis节点时,key在各Redis节点移动再分配更均匀,而不是只有相邻节点受影响。
采取如下办法:
1.判断该数据是否存在,如果存在则取出id(自增序列)
2.如果上述不存在,则进入一个同步方法中,执行查询sequence的代码,并将结果hsetnx到redis中。借助redis的hsetnex的第一次操作能够成功,第二次操作不能成功的方式,来实现该分布式一致性
3.取到上一步中的id,并在hsetnx返回成功的线程中将数据入库!
热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 华为m3和ipad air2哪个好?华为平板m3和ipad air2详细区别对比评测
- 华为平板M3怎么调节色温保护眼睛?
- 8.4英寸华为平板M3真机图赏:主打影音视频和游戏
- 华为平板M3怎么使用自带的云服务导入旧手机资料数据?
- 怎么将之前手机中的就资料导入华为平板M3?
- 华硕ZenPad 3S 10值得买吗?华硕ZenPad 3S 10平板全面评测
- 小米平板2的16G内存够用吗? 16GB版小米平板2可以刷Win10系统吗?
- 华为平板M3值得买吗 华为平板M3全面评测图解
- 华为平板M3和小米平板2哪个好?小米平板2和华为平板M3详细区别对比评测
- 华为平板M3有几个版本?华为平板M3 WiFi版与LTE版各版本区别对比评测