mysql的数据更新怎么也实时在redis缓存中也更新?

  • mysql数据更新后,redis的缓存并没有更新,导致浏览的内容还是缓存中的脏数据,最后我手动flush了缓存,才使得mysql更改的数据生效显示。
  • 但是我想让mysql的update数据在更新完毕后,能自动实时同步到redis缓存数据库中,请问有什么方法吗?或者有什么资料可供我借鉴一下?(ps:也许我这个问题问的不是很专业,大佬能看懂我说的啥意思就行)。
阅读 5.8k
1 个回答

有好几种方案,从简单到复杂如下:

  1. 数据库只写,redis只读,缓存设定过期时间,过期了再去数据库取,缺点是数据一致性比较差
  2. 在应用层上,数据库事务提交后接着写redis,缺点是容错性比较差,大规模架构下缓存可能写失败,适合小应用
  3. 利用消息队列,比如Kafka,写缓存的命令push到队列,redis自己去pull
  4. redis的更新利用mysql的binlog复现

http://simongui.github.io/201...

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