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

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

admin2个月前 (04-01)AI技术50

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

组合作为高危信号

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

相关文章

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

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

【大模型应用开发

二、大模型的泛化与微调 模型的泛化能力:是指一个模型在面对新的、未见过的数据时,能够正确理解和预测这些数据的能力。在机器学习和人工智能领域,模型的泛化能力是评估模型性能的重要指标之一。...

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

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

神经网络分类总结

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

神经网络中的单层神经网络

神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。 看一个经典的神经网络。这是一个包...

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

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

发表评论

访客

看不清,换一张

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