黑马程序员面经
2025-05-12 10:55:57 2 举报
AI智能生成
自己整理的一些面经(第一次发布,看看效果)
作者其他创作
大纲/内容
redis
缓存
缓存三剑客
缓存穿透
基本概念
解决方法
缓存空对象
布隆过滤器
缓存雪崩
基本概念
大量key同时过期
Redis服务宕机
解决方法
给不同的key添加随机TTL<br>
利用redis集群提高redis服务的可用性
给缓存业务添加降级限流策略
给业务添加多级缓存
缓存击穿
基本概念
解决方法
提前缓存热点key
设置逻辑过期时间(保证高可用,新建一个线程去修改,老数据直接返回)<br>
互斥锁(数据强一致性,其他线程要等待)<br>
双写一致性
一致性要求高(和业务关联)<br>
分布式锁
共享锁
排他锁
一致性要求不高
延时双删
先删缓存,再操作数据库(大问题)<br>
先操作数据库,再删缓存(小问题)<br>
主同步到从,所以要延时
延时时间不确定
异步通知
MQ<br>
Canal
持久化
RDB(内存数据)<br>
save(主进程)<br>
bgsave(子进程)<br>
AOF(命令日志)<br>
Always
everysec(常用)<br>
no
数据过期策略
惰性删除
定期删除
fast(执行频率不固定) 2, 1<br>
slow(定时任务) 10, 25<br>
两种组合
数据淘汰策略
noeviction(默认)<br>
volatile-ttl
allkeys-random(访问频率差距不大)<br>
volatile-random
allkeys-lru(least recent use)(优先)(业务<br>
volatile-lru(置顶需求)<br>
allkeys-lfu(least frequent use)(短时高频访问)<br>
volatile-lfu(短时高频访问)<br>
分布式锁
数据库
框架
消息中间件
常见集合
并发编程
JVM<br>
0 条评论
下一页