1.redis是什么,redis为什么这么快:
一个基于内存的非关系型数据库。
1.基于内存,2.单线程(瓶颈主要在IO,不在CPU,避免上下文切换),3.IO 使用 多路复用模型。4.数据结构简单。
2.数据类型:字符串、列表、集合、散列表、有序集合。
3.Redis持久化
RDB:RDB 是间隔一段时间进行持久化,如果持久化之间 redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候)
AOF:(Append-only file)持久化方式: 是指所有的命令行记录以 redis 命令请 求协议的格式完全持久化存储)保存为 aof 文件。
4.过期键的删除策略
noeviction, ALL-key(2种 LRU,Random ), volatile(3种,多一个ttl)
5.哨兵模式 和 Cluster模式:
6.Redis实现分布式锁
7.redis 和 数据库 双写一致性问题
8.redis的 大key问题
9.
10.缓存异常 :缓存穿透,缓存击穿,缓存崩溃
缓存穿透:一个不存在的key ,一直 查询,导致全表扫描,可以采用缓存空值或者布隆过滤器进行优化。
缓存击穿:一个热点key过期, 设置永不失效,使用二级缓存,分布式锁
缓存崩溃: 设置key的过期时间+一个随即时间,避免同时过期。