关注
基础知识问题题解
1. 缓存击穿怎么解决的,介绍下多个方案,
缓存击穿是热点key不在缓存中(主要是热点key失效导致),导致大量请求到数据库中,导致数据库压力变大深圳宕机.
解决方案: 1)热点key不过期 2)热点key续期 3)热点key预加载 4) 请求数据库时,先获取锁,避免同时请求到数据库
2.缓存一致性怎么解决
数据修改:修改数据加分布式锁
缓存删除
先改后删
延时双删(业界主要的方案)
3 如何用redis实现一个分布式布隆过滤器
使用bitmap数据实现, 具体可以使用Redisson 或者 Redis 4.0的布隆过滤器插件
4 读扩散和写扩散的区别,它们的应用场景有哪些。
读扩散: 存一份数据, 每个用户都读该数据, 读取性能可能导致瓶颈
写扩散: 每个用户写一份数据, 各自读取自己的数据, 写性能可能导致瓶颈
常见的读写扩散应用场景是feed流, 例如微博, Twitter, im群聊等
4. 如何设计一个朋友圈功能,采用读扩散和写扩散的区别。现在比如说有一个大v,粉丝量很高,该采用写扩散还是读扩散,如何进行优化
粉丝量很高: 基本采用读扩散, 因为写的数据太多,存储成本高, 优化: 对活跃用户采用写扩散, 不活跃客户端采用读扩散
5. redis实现分布式锁在哪些情况下会失效?
客户端长时间阻塞导致锁失效问题
6. 死锁问题如何产生?如何排查和解决死锁?我们日常编码过程中可以怎么去避免
死锁问题是互相等待产生的 (互斥、请求与保持、不可抢占、循环等待)
排查和解决死锁: 工具排查, 人工检查.
编码中如何避免: 注意加锁顺序
查看原帖
4 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 除了Java,最推荐学什么技术? #
1691次浏览 55人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
2061次浏览 71人参与
# 你的landing期是如何度过的? #
2109次浏览 42人参与
# 滴滴求职进展汇总 #
299034次浏览 2445人参与
# 秋招报数:你投了多少家公司? #
148333次浏览 946人参与
# 机械制造面试点评 #
83995次浏览 471人参与
# 你觉得早上几点上班合适? #
94304次浏览 353人参与
# 机械人与华为的爱恨情仇 #
147197次浏览 1030人参与
# 机械只有转码才有出路吗? #
159389次浏览 1653人参与
# 我和mentor的爱恨情仇 #
102870次浏览 925人参与
# 你觉得mentor喜欢什么样的实习生 #
45505次浏览 989人参与
# 如何提高实习转正率? #
80871次浏览 488人参与
# 实习期间如何提升留用概率? #
231064次浏览 1788人参与
# 你觉得什么岗位会被AI替代 #
35292次浏览 236人参与
# 聊聊你的被动加班经历 #
8492次浏览 101人参与
# 秋招提前批,你开始投了吗 #
705801次浏览 8437人参与
# 面试常问题系列 #
268797次浏览 4687人参与
# 京东求职进展汇总 #
1138615次浏览 8519人参与
# 牛客十周岁生日快乐 #
207830次浏览 1937人参与
# 为了秋招你都做了哪些准备? #
31495次浏览 532人参与