为什么 Redis 从服务器不主动惰性删除过期键?

2021-06-13 23:08:13 +08:00
 bladestorm
最近在看书入门 Redis,关于复制功能对过期键的处理,了解到从服务器在收到来自主服务器发来的 DEL 命令之前,即使客户端访问了过期键,也不会删除它,为什么这么设计呢?
2511 次点击
所在节点    Redis
3 条回复
wj219
2021-06-14 21:09:31 +08:00
个人理解是,首先尽可能避免主从数据不一致,其次在恢复的时候需要记录偏转量,如果从服务器自己动了数据可能会导致问题。
Navee
2021-06-15 10:16:25 +08:00
guava 的缓存章节写了他们是如何清理缓存的 https://github.com/google/guava/wiki/CachesExplained#when-does-cleanup-happen
guava 是在读取值得时候顺便清理缓存以及提供接口给用户显示清理缓存
因为后台自动的缓存清理需要有清理线程,清理线程和读取线程必定会产生竞争
atalia
2021-08-06 12:09:03 +08:00
主从一致性吧,从节点对数据是只读的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX