- 这个老师风格基本没怎么复习。。。。
- 缓存结构设计
- *redis数据类型、常用命令
- 双向链表优化
- 跳表
- 快速列表
- 缓存淘汰策略:
- LRU LinkedHashMap
- redis事件
- 底层数据结构
- 源码级的东西
- 压缩
- 各种源码的东西我去。。。。
- 四种多路复用模型
- select poll epoll kqueue : 前三个重点
- windows是select ; linux是epoll
- 文件事件、 时间驱动
- 持久化最简单。。。。。
- 持久化目的
- 存储 X
- 恢复 √ 和 复制
- 持久化不保证完整性
- 原理
- fork父进程
- AOF相对复杂
- 只用RDB会阻塞
- 如果AOF和RDB都有
- 根据AOF
- 第五章了解就好
- 事务
- 挺鸡肋
- 弱事务性
- 做秒杀挺好
- watch
- 乐观锁
- lua整合好处
- lua把多个命令原子性操作
- 慢查询日志
- 锦上添花、不如mysql好用
- 慢查询优化
- 主从原理
- 复制时候PSYNC命令
- 全量和增量
- 主从+哨兵
- 以订阅的方式通信
- raft协议
- 故障转移
- 分区
- cluster和codis
- hash算法和一致性hash算法
- codis
- 分区原理
- 5.0以后用cluster
- moved重定向、ask重定向
第六课很重要
redis: 原理、数据结构、集群主从 主要
第七课:
缓存问题:
- 缓存穿透:
- 布隆过滤器
- value 空不建议用
- 雪崩、击穿都是穿透的特例,一般都说穿透
- 三者区别:
- 雪崩大量没有
- 击穿某几个没有
- 穿透没有
- 延迟双删除
- 分布式锁
- 非常经典
- 秒杀程序
- watch和setnx
- redis是AP模型
- 不保证数据一致
- 重复下单、重复转账
- 哨兵用的比较多,因为版本是redis3; 但是如果是5的话,建议用cluster
