- redis中的数据类型:string list set zset hash
- 快的原因:
- 存在内存中
- 采用单线程
- 非阻塞IO-IO多路复用
- redis持久化
- 持久化:即把内存的数据存在磁盘
- RDB:创建快照的方式进行持久化,保存某个时间点的全量数据
- AOF:记录所有变更数据状态的指令,以append的形式追加到aof文件
- 混合:定时rdb,中间使用aof,尽可能不丢失数据
- 缓存穿透、缓存击穿、缓存雪崩
- 缓存穿透:查询的一个不存在的数据,导致频繁查db,可能导致db挂掉
- 对于查询结果为空的也进行缓存
- 缓存击穿:一个key失效时,刚好大量的访问这个key导致db挂掉
- 设置互斥锁
- 设置永不过期
- 缓存雪崩:大量的key失效
- 设置二级缓存
- 不同的key,设置不同的过期时间
- 缓存穿透:查询的一个不存在的数据,导致频繁查db,可能导致db挂掉
- redis的集群模式
- 主从模式
- 哨兵模式