如何解决Redis做缓存时数据的一致性问题?
比如使用Redis缓存了listUser的结果集,然后插入/更新/删除了数据,那怎么保证listUser的结果是最新的呢?如果说通过在插入/更新/删除操作后清空缓存,那在插入/更新/删除的操作很频繁时要如何解决呢?频繁的删缓存,那缓存的意义也就不存在了。这个问题要如何解决呢?
回复
1个回答

test
2024-07-01
这是必然的,没有解法。如果实在太过频繁,那就没有缓存的必要。
但是,理论上只要访问量大于清理的时间间隔,还是有必要的。
比如这个数据平均 1 秒清理一次,而假设高峰期平均每秒有访问 20 次的访问量,那这个缓存就有意义。如果每秒只有 5 次以内,那可能就没那么重要了。
另外还要根据业务进行综合评估,如果缓存的内容很大,清理却很频繁,那也要适当考虑。假设这个查询很复杂,耗时很长,也是有一定必要的。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容