AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
Redis必学必会,一图概览
2024-01-18 11:24:29
3
举报
分享方式
免费使用
AI智能生成
Redis必备知识点
redis
模板推荐
作者其他创作
大纲/内容
特性
快
基于内存
命令执行是单线程
Key-Value结构,类似hashmap,查询性能接近O(1)
底层的数据结构 跳表,压缩表,sds
网络模型:IO多路复用
AP模型
高可用
完善的内存管理机制:过期,淘汰,持久化
主从,哨兵,cluster集群
数据类型
Key最大512
String
应用场景
token
计数
分布式ID
点赞数,评论数
短信验证次数,库存
限流
SDS
Hash
应用场景
统计数据
购物车,实际不会这样做
List
应用场景
有序,时间线列表:朋友圈
阻塞消息队列
Set
无序,不重复,但如果全部是整型就是有序的
应用场景
抽奖
交集,并集,差集:共同好友
Sort Set
有序,不重复,如果score相同,根据key排序
应用场景
排行榜
bitmap
应用场景
布隆过滤器
计数
权限
分布式锁
锁存储独立于业务服务的
如何设计
需求:<br>1.只有一个线程能同时执行互斥资源<br>2.其他线程执行的时候,有线程在执行,要么等待,要么报错
有一个标识标记是否有线程在执行 比如lock中的state
这个标识必须可见,并可以获取最新结果
获取这个标识不能同时抢占成功,是安全的
怎么做分布式锁
标记--key-value结构
可见性--单线程操作
安全性--setnx原子性操作
事务
命令是原子性的,但不能获取中间指令的值来做后续的逻辑
lua脚本
必须要有宿主,redis支持lua脚本
redission
扩容
什么时候扩容
当没有子进程在做持久化的时候,ht[0].used>=ht[0].size的时候
如何扩容
渐进式rehash
IO
网络通信原理
通信模型
BIO
阻塞IO,连接组合和IO阻塞
应用场景
zk中leader选举
nacos注册地址信息同步
NIO
非阻塞IO
channel<br>buffer<br>selector
多路复用
poll
select
epoll
reactor模型
单线程
多线程
多线程多reactor
集群模式
主从
容灾备份
哨兵
故障转移
cluster 集群
数据分片
主从复制
收藏
立即使用
IO
收藏
立即使用
JVM
收藏
立即使用
Java之面试题大全(持续更新ing)
收藏
立即使用
Java面试题汇总 真实面经总结(持续更新20240315)
阿尔宙斯
职业:无
去主页
Collect
Get Started
redis
Collect
Get Started
11交互概览
Collect
Get Started
11.交互概览图
Collect
Get Started
03类图
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document