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

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

admin2个月前 (04-05)AI技术52

Redis进阶技巧:本文深入解析

主从节点淘汰策略必须完全一致,否则必然导致数据不一致;需统一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 生态系统的无...

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

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

神经网络分类总结

从网络性能角度可分为连续型与离散型网络、确定性与随机性网络。 从网络结构角度可为前向网络与反馈网络。 从学习方式角度可分为有导师学习网络和无导师学习网络。 按连续突触性...

AI核心技巧:如何重置openclaw硬件设置 openclaw恢复出厂设置操作方法【操作】深度解析|Duuu笔记

重置 OpenClaw 配置有四种方法:一、交互式向导重置(openclaw onboard --reset);二、指定作用域的命令行重置(如--reset-scope config);三、手动删除~...

深入理解AI:WorkBuddy 怎么做组织架构图 WorkBuddy 组织架构图生成教程【实战】完全指南|Duuu笔记

WorkBuddy可通过四种方式生成组织架构图:一、用自然语言指令触发AI自动解析并渲染Mermaid图表;二、上传Excel结构化数据映射字段后批量构建动态树状图;三、启用OpenClaw技能包对接...

深入理解前端开发:Minimax 视频生成中负面提示词(Negative Prompt)写法完全指南|Duuu笔记

Minimax视频生成中负面提示词需用英文、逗号分隔,支持权重调节(如(blurry:1.3)),按构图/主体/画质/风格四类精简选取,禁用not/no/中文及违规词,须通过A/B测试验证有效性。...

发表评论

访客

看不清,换一张

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