简单介绍Redis的内容
树图思维导图提供 互联网Redis思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 互联网Redis思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:055f435a76649ed05f8cbf83303a914e
Redis思维导图模板大纲
字符串
缓存功能;计数
共享session
限制过期时间,例如短信验证码的有效期
列表
消息队列
文章列表
集合
给用户打标签
点赞、关注之类的,由于集合之间支持合并等操作,可以用来求共同好友之类的
有序集合
排名系统
哈希
缓存一些对象
底层实现原理
由dict结构表示
dictType *type
void *privatedata私有数据
dictht ht[2]
int trehashidx,如果没有在rehash则值为-1
rehash过程
拓展
收缩
负载因子为0.1
为什么Redis很快?
纯内存操作:文件事件分派器从队列中取出事件分配给对应处理器进行处理
(连接应答、命令请求、命令回复三中处理器)
单线程避免的线程上下文切换的消耗、加锁、解锁等消耗
采用非蚌阻噻约O多潞复用,,使得单个线程可以处理多个连接,并且
把相关请求直接直接压到队列中
过期按键删除策略以及内存淘汰机制
定期删除+惰性删除,注意,定期删除每隔一段时间是随机抽取一些元素删除的
内存淘汰机制
并发竞争问题
集群
哨兵
用redis实现分布式锁
AOF
RDB
Save:阻塞持久化
优点
压缩的二进制文件恢复非常快
适合全量复制等场景
缺点
无法做到实时持久化,频繁操作成本高
不同版本的RDB格式可能无法兼容
bgsave:阻塞fork子进程持久化
采用LZF压缩算法
可以采用分布式锁+时间戳
数据库、缓存双写不一致问题
把命令放入队列,直到提交才开始执行
不具有原子性,也就是说不会回滚,因此也没有一致性
不过又隔离性和持久性
单机redis很难支撑10+的qps
主从复制
概括思维导图模板大纲
树图思维导图提供 《数字教育平台开发项目策划》 在线思维导图免费制作,点击“编辑”按钮,可对 《数字教育平台开发项目策划》 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d6437326e3e07ecf1e5e178ba84d0100
树图思维导图提供 母婴大健康行业互联网展现推广方案1.0 在线思维导图免费制作,点击“编辑”按钮,可对 母婴大健康行业互联网展现推广方案1.0 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e848be5cfe3012b9c73b8c363c1cba92