1.Redis 缓存穿透、击穿、雪崩的概念分别是什么,解决方法是什么
穿透:访问不存在的 key,大量访问去访问底层数据库,解决方法是使用布隆过滤器,布隆过滤器对于不存在的是一定能确定的,对于存在不一定
击穿:热点数据失效,解决方式可以是热点数据永不失效
雪崩:大量 key 失效,解决方法可以是限制访问数据库的数量、对于失效时间增加随机值
2.Redis 的 AOF 日志和 RDB 日志的优缺点,在生产环境如何结合起来使用
RDB 日志存储的是全量快照,文件小,但缺点是快照时间之后的写入会丢失,丢失的数据量比较多。
AOF 日志存储的是操作命令,文件比较大但是优点是丢失的数据少。
结合起来使用可以是 RDB 快照,然后 AOF 存储快照保存之后的命令。
3.MVCC 是什么
MVCC 是多版本控制管理的一种方法 实现了读已提交 可以确保不同事务之间不互相影响,确保可重复读可以增加行锁,增加版本。
读提交判断事务 ID 事务快照才实现可重复读
4.索引失效的五种情况
索引函数,索引列计算,like 最开始有%,隐式类型转换,覆盖索引没有最左匹配原则
5.事务的四大特性
acid 原子性 一致性 隔离性 持久性