导图社区 redis基本数据类型
Redis的基本数据类型,及常用命令,底层持久化方式,集群、哨兵处知识点。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
redis
单机版
内存容量有限
处理能力有限
无法高可用
集群
proxy
Twemproxy
Twemproxy 是一个 Twitter 开源的一个 redis 和 memcache 快速/轻量级代理服务器; Twemproxy 是一个快速的单线程代理程序,支持 Memcached ASCII 协议和 redis 协议
非proxy
Redis Cluster
内存存储 key-value C语言编写
哨兵机制
实现高可用,监控master和slave 可以进行切换监控
功能&步骤
监控
通知
自动故障移除
配置提供者
持久化
RDB
Redis database 缩写
核心函数
rdbSave(生成rdb文件)
BGSAVE
子进程 非阻塞
SAVE
阻塞
rdbLoad(从文件加载内存)
存储格式
https://redisbook.readthedocs.io/en/latest/internal/rdb.html#id4
AOF
Append Only File
flushAppendOnlyFile 定期
条件
WRITE
将 aof_buf 中的缓存写入到AOF文件
调用 fsync 或者 fdatasync 函数,将AOF文件保存到磁盘中
RESP 通信协议格式的命令文本存储
比较
Aof文件比rdb更新频率高,优先使用AOF还原数据,自动隔离性保存
AOF比RDB更安全也更大,但是性能不如RDB
如果两个都配置了,Redis 优先加载AOF
基本数据类型
string
hash
list
set
zset
通信协议
RESP(Redis Serialization Protocol (Redis序列化协议))
实现简单
快速解析
可读性好
符号标识
字符开头 “+”
错误开头 “-”
数字开头 “.”
字符串开头 “$”
数组开头 “*”
Redis Cluster集群
分片
crc16算法 16384 hash槽 slot
内存关系
cluster > node > slot > key
redis.trib.rb管理工具
sharding & resharding
创建删除节点
检查、修复、执行等
节点
Gossip节点通讯
复制
目的
减轻主库的读压力
模式
两种模式:M > S(主从复制) S > S (从从复制)
过程
slave向master发送sync命令
master 开启子进程执行 bgsave 写入 rdb文件
master 发送缓存和RDB文件给slave
master发送数据给slave 完成复制
常用命令
keys pattern
标识匹配所有
setnx
expire
mset/mget
incr/decr
incrby/decrby
同incr 类似,加(减)制定值
rename
重命名
tyoe
返回数据类型