![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis核心技术与实战
文章平均质量分 94
以终为始001
每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢
展开
-
Redlock 可能会导致不安全的原因
最后:antirez和Martin也达成了一致,认为redlock解决了客户端和锁服务器之间的消息延迟(即获取锁之前产生的网络延迟等,上面已经描述如何解决),但是对于客户端和资源服务器(访问共享资源的过程)之间的延迟,antirez承认所有的分布式锁的实现,包括Redlock,是没有什么好办法来应对的。,那么会向所以Redis实例发出释放锁的操作(由于可能存在网络等原因,导致在Redis实例上已经加锁成功,但是没有 发给客户端,为了保证这次情况能够正常释放锁,所以需要向所有实例发送释放锁的请求)!原创 2022-09-04 16:30:35 · 1304 阅读 · 0 评论 -
Redis主从库网络断连问题——repl_backlog_buffer
在 Redis 2.8 之前,如果主从库在命令传播时出现了网络闪断,那么,从库就会和主库重新进行一次,开销非常大。从 Redis 2.8 开始,网络断了之后,主从库会采用的方式继续同步。增量复制只会把,同步给从库。增量复制通过这个缓冲区实现。主库的所有写命令除了通过传播给从库之外,都会在这个(只要有从库,这个缓冲区就一定会存在)中记录一份,缓存起来。通过repl_backlog_buffer预先缓存数据,在从库恢复时就能够通过这个缓存区进行数据恢复(具体原理下文会说)。...原创 2022-09-01 08:30:00 · 1064 阅读 · 0 评论 -
渐进式rehash
在进行渐进式 rehash 的过程中, 字典会同时使用 ht[0] 和 ht[1] 两个哈希表, 所以在渐进式 rehash 进行期间, 字典的删除(delete)、查找(find)、更新(update)等操作会在两个哈希表上进行: 比如说, 要在字典里面查找一个键的话, 程序会先在 ht[0] 里面进行查找, 如果没找到的话, 就会继续到 ht[1] 里面进行查找, 诸如此类。:上述过程中的第二步,可能会涉及大量的数据拷贝,如果一次性把哈希表1的数据拷贝到哈希表2,那么会造成Redis线程阻塞。原创 2022-08-24 16:33:58 · 1933 阅读 · 2 评论