如何解决Redis做缓存时数据的一致性问题?

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

阅读 1.7k
1 个回答

这是必然的,没有解法。如果实在太过频繁,那就没有缓存的必要。

但是,理论上只要访问量大于清理的时间间隔,还是有必要的。

比如这个数据平均 1 秒清理一次,而假设高峰期平均每秒有访问 20 次的访问量,那这个缓存就有意义。如果每秒只有 5 次以内,那可能就没那么重要了。

另外还要根据业务进行综合评估,如果缓存的内容很大,清理却很频繁,那也要适当考虑。假设这个查询很复杂,耗时很长,也是有一定必要的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题