Redis知识梳理
2020-10-30 16:52:54 32 举报
AI智能生成
Redis知识梳理
作者其他创作
大纲/内容
Redis
应用场景
数据类型
字符串
列表
集合
有序集合
哈希
数据持久化
RDB
RDB: 类似于快照,当前内存里的数据的状态持久化到硬盘优点:压缩格式/恢复速度快缺点:不是实时的,可能会丢数据,操作比较重量
设置参数
save 900 1save 300 10save 60 10000
注意事项
AOF
AOF: 类似于mysql的binlog,可以设置成每秒/每次操作都以追加的形式保存在日志文件中优点:安全,最多只损失1秒的数据,具备一定的可读性缺点:文件比较大,恢复速度慢
appendonly yesappendfilename \"redis.aof\"appendfsync everysec
1.当aof和rdb同时存在的时候,redis会优先读取aof的内容2.aof修复命令不要用,因为他的修复方案非常粗暴,一刀切,从出错的地方到最后全部删除3.任何操作之前,先备份数据
高可用架构
主从复制
命令
SLAVEOF 10.0.0.51 6379
SLAVEOF no one
主从复制流程
哨兵
作用
1.解决主从复制需要人为干预的问题2.提供了自动的高可用方案
部署流程
1.安装redis数据节点和哨兵节点
2.配置redis主从复制
3.配置哨兵监控主从复制
选举条件
1.选择权重最大的2.选择数据最新的从节点3.选择UUID最小的
1.哨兵发起故障转移的条件是master节点失去联系,从节点挂掉不会发起故障转移2.哨兵会自己维护配置文件,不需要手动修改3.如果主从的结构发生变化,哨兵之间会自动同步最新的消息并且自动更新配置文件4.哨兵启动完成之后,以后不要再自己去设置主从关系
集群
1.解决哨兵架构主库写压力太大的问题2.解决哨兵架构资源利用率不高的问题3.解决哨兵架构连接过程繁琐,效率低的问题
重要概念
1.Redis集群,无论有几个节点,一共只有16384个槽位2.所有的槽都必须被正确分配,哪怕有1个槽不正常,整个集群都不可用3.每个节点的槽的顺序不重要,重要的是槽的数量4.HASH算法足够平均,足够随机5.每个槽被分配到数据的概率是大致相当的6.集群的高可用依赖于主从复制7.集群节点之间槽位的数量允许在2%的误差范围内8.集群通讯会使用基础端口号+10000的端口,自动创建的,不是配置文件配置的,生产要注意的是防火墙注意要放开此端口
集群关键参数
cluster-enabled yescluster-config-file nodes_6380.confcluster-node-timeout 15000
1.安装配置启动节点
2.集群节点互相发现
3.集群节点分配槽位
4.配置集群的复制节点
扩容流程
1.安装新节点
2.重新分配槽位
3.其他节点把自己的槽分一部分给新节点
4.调整复制关系
收缩流程
1.重新分配槽位
2.要下线的节点把数据分给其他节点
3.使用工具下线节点
1.监控集群的健康状态是否为ok
数据迁移
4.x之前
第三方工具迁移
4.x之后
使用redis-cli工具迁移
运维工具
分析key大小
自带命令
检查集群状态
检查集群是否平均负载
自动修复集群错误状态
故障案例
2.随机删除KEY
3.随机删除有过期时间的key
4.按过期时间顺序删除key
1.使用工具恢复槽的状态
2.使用命令恢复槽的状态
1.使用工具重新分配
4.办公室刷帖导致封锁
5.优惠卷不过期
6.被黑客利用Redis漏洞入侵
0 条评论
下一页
为你推荐
查看更多