Redis必学必会,一图概览
2024-01-18 11:24:29 3 举报
AI智能生成
Redis必备知识点
作者其他创作
大纲/内容
基于内存
命令执行是单线程
Key-Value结构,类似hashmap,查询性能接近O(1)
底层的数据结构 跳表,压缩表,sds
网络模型:IO多路复用
AP模型
快
完善的内存管理机制:过期,淘汰,持久化
主从,哨兵,cluster集群
高可用
Key最大512
token
计数
分布式ID
点赞数,评论数
短信验证次数,库存
限流
应用场景
SDS
String
统计数据
购物车,实际不会这样做
Hash
有序,时间线列表:朋友圈
阻塞消息队列
List
无序,不重复,但如果全部是整型就是有序的
抽奖
交集,并集,差集:共同好友
Set
有序,不重复,如果score相同,根据key排序
排行榜
Sort Set
布隆过滤器
权限
bitmap
数据类型
特性
锁存储独立于业务服务的
需求:1.只有一个线程能同时执行互斥资源2.其他线程执行的时候,有线程在执行,要么等待,要么报错
有一个标识标记是否有线程在执行 比如lock中的state
这个标识必须可见,并可以获取最新结果
获取这个标识不能同时抢占成功,是安全的
如何设计
标记--key-value结构
可见性--单线程操作
安全性--setnx原子性操作
怎么做分布式锁
命令是原子性的,但不能获取中间指令的值来做后续的逻辑
事务
必须要有宿主,redis支持lua脚本
lua脚本
redission
当没有子进程在做持久化的时候,ht[0].used>=ht[0].size的时候
什么时候扩容
渐进式rehash
如何扩容
扩容
分布式锁
网络通信原理
阻塞IO,连接组合和IO阻塞
zk中leader选举
nacos注册地址信息同步
BIO
非阻塞IO
channelbufferselector
NIO
poll
select
epoll
多路复用
单线程
多线程
多线程多reactor
reactor模型
通信模型
IO
容灾备份
主从
故障转移
哨兵
数据分片
主从复制
cluster 集群
集群模式
Redis
0 条评论
回复 删除
下一页