redis面试复习点
2020-09-27 10:39:31 1 举报
AI智能生成
后端开发面试redis复习点
作者其他创作
大纲/内容
内部实现的数据结构
dict
sds
ziplist
quicklist
skiplist
集群部署
单机
特点
简单
问题
内存容量有限
处理能力有限
无法高可用
主从(可多从)
特点
主写从读
备份数据,减少主机器压力
问题
不具备高可用
sentinel
特点
哨兵监测主节点,故障转移
解决的问题
故障转移(高可用)
存在的问题
容量限制
slave作为备份节点不提供服务
cluster
特点
数据分片,单机存储部分数据
无中心架构
解决的问题
容量限制
存在的问题
从节点做备份节点和故障转移,不提供服务
通信协议
格式
简单字符串,回复的第一个字节是"+"
错误,第一个字节是"-"
整数,第一个字节是":"
批量字符串,第一个字节是"$"
数组,第一个字节是"*"
使用的地方
客户端与服务端通信
AOF日志
常用数据结构
string
list
set
zset
hash
数据淘汰
策略
noeviction,不淘汰,写入报错
allkeys-lru
针对所有key的lru策略
volatile-lru
针对设置过期时间的lru策略
allkeys-random
针对所有key的随机策略
volatile-random
针对设置了过期时间key的随机策略
volatile-ttl
针对设置了过期时间的key的ttl策略
机制
定时删除
定时删除过期key的引用
惰性删除
访问存在的key的第一步先检查ttl,如果过期先删除
持久化
RDB
执行流程
原理
优缺点
AOF
执行流程
原理
优缺点
如何选择
AOF可最大化减少数据丢失
RDB恢复速度快
可两者结合
哈希算法
一致性哈希算法
哈希槽
缓存使用问题
穿透
回种空值
布隆过滤器
雪崩
加锁
不同key设置不同过期时间
内存缓存
热key如何解决
内存缓存
收藏
收藏
0 条评论
下一页