redis - redis的部分重新同步是什么意思?

标签 redis

从 Redis 2.8 开始,redis 添加了一个名为“部分重新同步”的功能。我阅读了 this官方文档,但我看不懂。谁能帮帮我?

最佳答案

是关于主从复制的。

Redis slave(命令或配置的 slave)的正常行为是连接到 master,要求 master 积累主从流量,向 master 请求文件系统的完整转储,将此转储下载到slave,加载dump,最后播放累积的流量,直到slave catch master。

这种机制非常健壮,但不能非常有效地覆盖从属和主之间的瞬时连接断开。如果主从链接断开几秒钟,从属将请求完全重新同步(包括转储等...),即使只遗漏了几个命令。

从 2.8 开始,Redis 包含了部分复制机制,因此从服务器可以重新连接到主服务器,如果满足某些条件(如暂时连接断开),则要求主服务器重新同步,而不必转储整个内存实例。

为了支持这个特性,master 必须缓冲并保留命令的积压,这样它们就可以在需要时随时提供给 slaves。如果从服务器落后于主服务器太晚,则积压可能不再包含所需的数据。在这种情况下,会像以前的版本一样完成正常的完全同步。

关于redis - redis的部分重新同步是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20739990/

相关文章:

Redis 请求在 1 到 3 毫秒内完成,耗时 300 毫秒

lua - HMGET 与 lua-resty-redis 中的数组

javascript - 如何向特定用户推送通知 Node + AngularJS + Laravel

php - CodeIgniter 在 Redis 中存储 PHP session

docker - 如何在单独的 docker 机器上使用 docker 设置 redis/sentinel 复制/监控?

php - Elasticache PHP Redis AWS 在 Laravel 中移动异常

Redis gem 4.6.0 : Multi pipeline commands warnings in sidekiq logs

Redis 用例

mongodb - 使用 mongodb 和 redis 的缓存失效策略

redis - 如果slave还没有master key,Redis集群是否重定向到master?在 CLIENT CLUSTER && READONLY 模式下