微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis缓存和数据库一致性解决方案

双删加超时

在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。
这样最差的情况是在超时时间内存在不一致,当然这种情况极其少见,可能的原因就是服务宕机。
此种情况可以满足绝大多数需求。
当然这种策略要考虑redis数据库主从同步的耗时,所以在第二次删除前最好休眠一定时间,比如500毫秒,这样毫无疑问又增加了写请求的耗时

异步更新缓存(基于订阅binlog的同步机制)

技术整体思路:

MysqL binlog增量订阅消费+消息队列+增量数据更新到redis

  • 读Redis:热数据基本都在Redis
  • MysqL:增删改都是操作MysqL
  • 更新Redis数据:MySQ的数据操作binlog,来更新到Redis

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐