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