当前位置:首页 > AI技术 > 正文内容

Redis 怎样防止主从节点淘汰行为不一致|Duuu笔记

admin6天前AI技术16

主从节点淘汰策略必须完全一致,否则必然导致数据不一致;需统一maxmemory-policy、maxmemory值,确保read_only开启,并避免从节点写操作及运行时配置变更。

主从节点淘汰策略必须完全一致,否则数据不一致是必然的

Redis 主从复制不保证淘汰行为同步——淘汰是本地行为,从节点不会复刻主节点的

DEL

EVICT

操作。如果主从配置不同,比如主用

allkeys-lru

、从用

volatile-ttl

,同一时刻内存满时,两者会删掉完全不同的 key,后续读从库就可能命中脏数据或空值。

检查并统一

maxmemory-policy

配置项

这是最常见也是最致命的差异点。只要主从的

maxmemory-policy

值不一致,淘汰就不一致。

redis-cli -h {host} -p {port} config get maxmemory-policy

分别查主从值,确认完全相同(包括大小写)

noeviction

虽安全但容易写失败,生产环境慎用;

allkeys-*

类策略比

volatile-*

更可控,因后者依赖 TTL,而很多业务根本没设 TTL

配置文件里写死比运行时

config set

更可靠——后者重启即丢失,且主从不同步执行

config set

会导致瞬时不一致

注意

maxmemory

设置与实际可用内存的偏差

即使策略一致,若主从

maxmemory

值不同,触发淘汰的时机就不同。更隐蔽的问题是:Linux overcommit、Redis 自身内存碎片、AOF rewrite 临时内存占用,都会让“实际可分配内存” ≠

maxmemory

主从节点的

maxmemory

必须数值相等,建议用绝对值(如

2gb

),避免用百分比或相对单位

监控

used_memory_peak_human

mem_fragmentation_ratio

,如果从节点碎片率长期 > 1.5,说明它更早触发淘汰——不是策略问题,是内存管理效率差异

开启

activedefrag yes

可缓解碎片,但仅限 Redis 4.0+,且 CPU 开销明显,需权衡

从节点写操作(如

read_only no

)会彻底破坏一致性

哪怕淘汰策略和内存限制全一致,只要从节点被误设为可写(

read_only no

),它自己删 key、写 key 的行为就和主节点无关了。这种不一致无法通过复制修复。

检查

redis-cli config get slave-read-only

(旧版)或

config get replica-read-only

(6.0+),确保返回

yes

禁止在从节点执行

flushdb

del

expire

等任何修改数据的命令——这些操作不会同步到主,也不会触发主的淘汰逻辑

运维脚本或监控告警中,应把

role:slave

+

connected_slaves:0

+

slave_read_only:0

组合作为高危信号

真正难防的不是配置漏改,而是“策略一致但行为不一致”:比如主节点因客户端连接数多、请求响应快,提前触发淘汰;从节点因复制延迟积压大量待处理命令,内存涨得慢、淘汰来得晚。这种时间差导致的短暂不一致,只能靠应用层容忍或降级策略兜底。

相关文章

【深度学习】Java DL4J 2024年度技术总结

一、Java DL4J深度学习概述 1.1 DL4J框架简介 1.2 与其他深度学习框架的比较 1.3 DL4J 的优势 1.3.1 与 Java 生态系统的无...

【大数据分析 | 深度学习】在Hadoop上实现分布式深度学习

一、Submarine(Hadoop生态系统) (一)Submarine 介绍 (三)Submarine 属于 Hadoop 生态系统 (四)Submarine 官网版...

什么是LLM?看这一篇就够了!

一、全套AGI大模型学习路线 AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能! 二、640套AI大模型报告合集 这套包含640份报告的合集,涵盖了AI大...

LLM介绍

。LLM 被证明在使用指令形式化描述的未见过的任务上表现良好。这意味着 LLM 能够根据任务指令执行任务,而无需事先见过具体示例,展示了其强大的泛化能力。 :小型语言模型通常难以解决涉...

【DL】2023年你应该知道的 10 大深度学习算法

3. 循环神经网络 (RNN) 4. 生成对抗网络 (GAN) 5. 径向基函数网络 (RBFN) 6. 多层感知器 (MLP) 7. 自组织图 (SOM)...

推荐10个AI人工智能技术网站

除了研究和开发人工智能技术,OpenAI还积极参与人工智能伦理和安全的研究和探讨。 认为,人工智能技术的发展必须遵循伦理和法律的规范,以确保人工智能的应用不会对人类带来负面影响。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。