Redis核心脑图
2021-11-03 15:31:06 0 举报
AI智能生成
登录查看完整内容
redis核心脑图,学习资料整理,有参考有总结。
作者其他创作
大纲/内容
内存快照
恢复速度快、持久化性能高、但是数据存在丢失风险
啊
RDB
日志文件追加记录
实时持久化、数据安全性更高、持久化效率低
AOF
问题定位与优化
3、持久化
配置
主-从(单节点)
主-从(多节点)
星形
主-从(主)-从
树形
拓扑
同步RDB文件
复制缓冲区
原理
全量复制(Sync)
部分复制(Psync,2.8版本之后)
类型
问题定位与解决
4、复制
Redis-Cluster
集群
TwemProxy
CodisProxy
中间件分片
业务程序
客户端分片
方案
一致性哈希算法
虚拟槽分区(1024槽)
集群内部数据节点独立运作,无需相互通信
Codis
Gossip协议 -- 集群数据节点内部相互通信
Raft算法 -- 集群内部选主
虚拟槽分区(163384个槽)
Redis Cluster
6、分布式
存储着所有数据
对象内存
通过参数client-output-buffer-limit控制
客户端缓冲
根据repl-backlog-size参数控制
复制积压缓冲区
用于在Redis重写AOF文件期间保存最近的写入命令
AOF缓冲区
缓冲内存
可采用数据对齐和安全重启等方式规避内存碎片问题
内存碎片
内存消耗
惰性删除
定时任务删除
内存回收策略
共享对象池
字符串优化
编码优化(采用ziplist编码能节约内存但会提高耗时-空间换时间)
控制键的数量(如使用hash结构重构字符串结构)
内存优化
8、内存
慢查询(slowquery)
管道(piepeline)
10、辅助功能
vm.overcommit_memory=1
vm.swapiness=1
关闭THP特性
调大ulimit
调大TCP Backlog
OOM killer
NTP
12、参数优化
info系统状态说明
单节点(Standalone)模式配置说明
哨兵(Sentinel)模式配置说明
集群(Cluster)模式配置说明
13、配置参数说明
内存
性能
高可靠
日常运维
资源规划
监控
安全
14、开发与运维规范
单线程
纯内存访问
支持数据持久化
非阻塞IO(epoll)
特性
缓存
队列
网站访问统计
分布式session
应用排行榜
社交关系图
分布式锁
应用场景
主从断线后采取部分复制(Psync)
Redis Sentinel Stable
2.8
3.0
GEO
3.2
提供模块系统方便三方扩展
非阻塞del和flushall/flushdb功能
RDB和AOF混合持久化模式
Redis Cluster兼容NAT和Docker
4.0
多线程等
6.0
版本新特性
1、特性以及应用场景
整形(int)
embstr编码的简单动态字符串
raw编码的简单动态字符串
字符串(String)
双端列表(Linkedlist)
压缩表(Ziplist)
列表(List)
哈希表(Hashtable)
哈希(Hash)
整形集合(Intset)
集合(Set)
跳跃表(Skiplist)
有序集合(Zset)
基本数据类型
Bitmap
Hyperloglog
其他数据类型
2、数据结构和内部编码
Redis Sentinel
Redis Cluster(集群自带高可用)
Keepalived
5、高可用
RDB持久化
AOF文件重写
Fork子进程
持久化阻塞
keys *
smembers
lrange
hgetall
命令阻塞
内因
CPU竞争
内存交换
网络问题
外因
7、阻塞
Jedis
Redisson
9、客户端
缓存无底洞
缓存穿透
缓存雪崩
缓存失效
热点key倾斜
热点key重建
缓存数据库双写不一致
大key
flushall/flushdb误操作恢复
11、缓存问题隐患
redis核心
0 条评论
回复 删除
下一页