Redis 学习进阶版

雪崩,穿透,击穿

名字 缓存雪崩 缓存穿透 缓存击穿
原因 大面试缓存失效 缓存和数据库都没数据 缓存没数据,数据库有数据
解决办法 每个key失效时间加上随机值 1.参数校验 2.Key对应value=null 1.永久缓存 2.分布式锁来解决

Redis来实现分布式锁

保证分布式锁要以下原则:
1.互斥性。在任意时刻,只有一个客户端持有锁。
2.不发生死锁。持有锁崩溃而未完成解锁,后续客户能加锁。
3. 容错性。Redis节点正常运行,客户端就可以加锁解锁。
4. 解铃还须系铃人。加锁和解锁必须是同一客户端。

Redis 学习进阶版

Redis持久化

类型 RDB 持久化 AOF持久化
方式 指定时间间隔内将内存中数据集体快照写入磁盘 以日志形式记录服务器所有操作,以文本记录
- Redis Sever—子进程–>RDB临时文件 Redis Clinet—发送命令->Redis Server–同步命令->AOF记录文件
优点 1. 灾难性故障,非常容易恢复 2. 单独文件轻易转移其他存储介质 3. 性能最大化,避免进程IO操作 4. 如果数据集大,RDB启动效率高 1.更加高的数据安全性 . 2.写入过程中宕机,数据一致性 3. 日志过大,宕机启用rewirter保证数据安全 4. 易于理解

Redis 失效策略(二者结合)

  1. 定时删除
    对内存友好,CPU不友好
  2. 惰性删除
    发现key值过期了,就删除key

Redis 集群 高可用

主从服务器(主从服务器,数据一致)
主服务器负责写请求, 从服务器负责接收读请求
Redis 学习进阶版