缓存
缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。
优点
-
降低后端负载 -
提高读写效率,降低响应时间 -
缩短系统的响应时间 -
减少网络传输时间和应用延迟时间 -
提高系统的吞吐量 -
增加系统的并发用户数 -
提高了数据库资源的利用率
缺点
-
在高并发场景下会出现缓存失效(缓存穿透、缓存雪崩、缓存击穿) 造成瞬间数据库访问量增大,甚至崩溃
-
缓存与数据库无法做到数据的时时同步 Redis无法做到主从时时数据同步
-
缓存并发竞争 多个redis的客户端同时对一个key进行set值得时候由于执行顺序引起的并发问题
Redis三种缓存更新策略
低一致性需求:使用内存淘汰机制。高一致性需求:主动更新,并以超时剔除作为兜底方案。
读操作
-
缓存命中则直接返回 -
缓存未命中则查询数据库,并写入缓存,设定超时时间
写操作
-
先写数据库,然后再删除缓存 -
要确保数据库与缓存操作的原子性 -
由缓存的调用者,在更新数据库的同时更新缓存
删除缓存
更新数据库时让缓存失效,查询时再更新缓存
如何保证缓存与数据库的操作的同时成功或失败?
原文始发于微信公众号(步尔斯特):〖Redis指南⑥〗Redis缓存更新策略
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/47911.html