赞
踩
RedLock 为了解决Redis分布式锁的问题
对多个redis节点加锁成功才能获取到锁。
具体流程:
1.获取当前时间
2.按顺序依次向N个Redis节点获取锁,为确保某个Redis节点失败不影响算法继 续进行,获取锁还需要设置一个超时时间,Redis获取锁失败,立即尝试下一个 节点
3.计算加锁过程的耗时时间, 当前时间减第一步获取锁的时间如果小于锁的有 效时间,且客户端从大多数Redis节点都加锁成功,则认为加锁成功,否则认为 加锁失败
4.如果最终获取锁的操作成功,锁的有效时间应该重新计算,锁的有效时间=设 置的有效时间-加锁消耗的时间
5.如果加锁失败了,则客户端应该释放所有节点对应得锁
Redis的内存超过最大允许的内存之后,会触发内存淘汰策略。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。