大厂面试-redis
前言
本章内容来自B站黑马程序员java大厂面试题和小林coding
博主学习笔记,如果有不对的地方,海涵。
如果这篇文章对你有帮助,可以点点关注,点点赞,谢谢你!
1.redis的使用场景
1.1 缓存
缓存穿透
缓存击穿
缓存雪崩
双写一致
Redis持久化
Redis的数据过期策略
数据淘汰策略
1.2 分布式锁
没有集群互斥锁就可以
2.其他面试问题
2.1集群问题
集群方案
主从复制
单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。
哨兵的作用
集群脑裂是由于主节点和从节点和sentinel处于不同的网络分区,使得sentinel没有能够心跳感知到主节点,所以通过选举的方式提升了一个从节点为主,这样就存在了两个master,就像大脑分裂了一样,这样会导致客户端还在老的主节点那里写入数据,新节点无法同步数据,当网络恢复后,sentinel会将老的主节点降为从节点,这时再从新master同步数据,就会导致数据丢失
解决:我们可以修改redis的配置,可以设置最少的从节点数量以及缩短主从数据同步的延迟时间,达不到要求就拒绝请求,就可以避免大量的数据丢失