文章目录
-
- Day01
- Day02
- Day03
- Day04
-
- 1. Redis 集群如何选择数据库?
- 2. 怎么理解 Redis 事务?
- 3. Redis key 的过期时间和永久有效分别怎么设置?
- 4. Redis 如何做内存优化?
- 5. Redis 回收进程如何工作的?
- 6. 都有哪些办法可以降低 Redis 的内存使用情况呢?
- 7. Redis 的内存用完了会发生什么?
- 8. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证redis 中的数据都是热点数据?
- 9. Redis 最适合的场景?
- 10. 假如 Redis 里面有 1 亿个key,其中有 10w 个key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?
- Day05
Day01
1. RDB 和 AOF 机制
2. Redis的过期键的删除策略
3. Redis线程模型、单线程快的原因
4. 简述Redis事务实现
5. redis集群方案
哨兵模式sentinel
- 集群监控:负责监控 redis master 和 slave 进程是否正常工作。
- 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。
- 故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。
- 配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址。
哨兵用于实现 redis 集群的高可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。
故障转移时,判断一个 master node 是否宕机了,需要大部分的哨兵都同意才行,涉及到了分布式选举的问题。
即使部分哨兵节点挂掉了,哨兵集群还是能正常工作的,因为如果一个作为高可用机制重要组成部分的故障转移系统本身是单点的,那就很坑爹了。
哨兵至少需要 3 个实例,来保证自己的健壮性。
哨兵 + redis 主从的