加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

面试前必须要知道的Redis面试

发布时间:2019-02-20 18:08:58 所属栏目:建站 来源:Java3y
导读:副标题#e# 今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩 1.1 什么是缓存雪崩? 回顾一下我们为什么要用缓存(Redis): 为什么要缓存 现在有个问题,如果我们的缓存挂掉了

并发下解决数据库与缓存不一致的思路:

  • 将删除缓存、修改数据库、读取缓存等的操作积压到队列里边,实现串行化。
面试前必须要知道的Redis面试

将操作积压到队列中

3.4对比两种策略

我们可以发现,两种策略各自有优缺点:

  • 先删除缓存,再更新数据库
    • 在高并发下表现不如意,在原子性被破坏时表现优异
  • 先更新数据库,再删除缓存(Cache Aside Pattern设计模式)
    • 在高并发下表现优异,在原子性被破坏时表现不如意

3.5 其他保障数据一致的方案与资料

可以用databus或者阿里的canal监听binlog进行更新。

参考资料:

  • 缓存更新的套路

https://coolshell.cn/articles/17416.html

  • 如何保证缓存与数据库双写时的数据一致性?

https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/redis-consistence.md

  • 分布式之数据库和缓存双写一致性方案解析

https://zhuanlan.zhihu.com/p/48334686

  • Cache Aside Pattern

https://blog.csdn.net/z50l2o08e2u4aftor9a/article/details/81008933

最后

这是几道Redis常见的面试题,希望大家看完有所帮助,顺利拿到offer!

【编辑推荐】

  1. 2月数据库排行榜:MySQL分数增长迅猛,Oracle下降最多
  2. MySQL主从复制虽好,能完美解决数据库单点问题吗?
  3. 开源数据库:PostgreSQL、MariaDB和SQLite的对比
  4. 聊聊Java数据库开发的那点事儿
  5. 一文揭秘单线程的Redis为什么这么快?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!