没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
REDIS 学习笔记
魏言华 联系方式:15313236435
目录
1. Redis 主从部署 ..................................................................................................................................2
1.1 配置文件方式搭建主从集群 .................................................................................................4
1.2 容灾处理 ......................................................................................................................................6
1.3 主从架构特点 .............................................................................................................................9
1.4 主从复制原理 .............................................................................................................................9
1.5 主从报活 .................................................................................................................................... 19
1.6 主从常见问题 ........................................................................................................................... 21
2 哨兵部署 ................................................................................................................................................ 24
2.1 哨兵的作用 .............................................................................................................................. 24
2.2 哨兵部署架构 .......................................................................................................................... 25
2.3 哨兵系统的部署方法 ........................................................................................................... 26
2.4 哨兵的基本原理 ..................................................................................................................... 30
2.5 哨兵优缺点 .............................................................................................................................. 38
2.6 哨兵配置文件 .......................................................................................................................... 38
3 集群部署 ................................................................................................................................................ 40
4. LRU 算法概述...................................................................................................................................... 40
4.1 LRU 概述 ................................................................................................................................... 40
4.2 LRU 时钟 ................................................................................................................................... 41
4.3 Redis 中的 LRU 时钟 ........................................................................................................... 42
4.4 redis LRU 内存回收 ................................................................................................................ 45
5 redis 命令执行 ..................................................................................................................................... 51
5.1 启动时监听 socket .............................................................................................................. 52
5.2 建立连接和 Client ................................................................................................................ 53
5.3 读取 socket 数据到输入缓冲区 ...................................................................................... 56
5.4 解析获取命令 .......................................................................................................................... 57
5.5 执行命令 ................................................................................................................................... 58
5.6 set 命令具体实现 ................................................................................................................... 65
5.7 get 命令具体实现 ................................................................................................................... 69
5.8 返回信息给 client ................................................................................................................... 73
6 AOF 分析 ................................................................................................................................................ 77
6.1 AOF 配置.................................................................................................................................... 77
6.2 AOF 文件格式 .......................................................................................................................... 78
6.3 AOF 持久化的实现 ............................................................................................................... 78
7 RDB 分析 ................................................................................................................................................ 91
7.1 执行流程 ................................................................................................................................... 92
7.2 RDB 文件格式........................................................................................................................... 92
7.3 RDB 持久化实现 ...................................................................................................................... 93
7.4 RDB load .................................................................................................................................. 102
8 redis 主从同步 ................................................................................................................................... 102
8.1 核心概念 ................................................................................................................................. 102
8.2 同步原理 ................................................................................................................................. 103
8.3 同步常见问题 ........................................................................................................................ 121
9 redis 底层数据结构 ........................................................................................................................... 121
9.1 对象类型和编码 .................................................................................................................... 121
9.2 字符串对象 ............................................................................................................................ 123
9.3 列表对象 ................................................................................................................................. 125
9.4 哈希对象 ................................................................................................................................. 127
9.5 集合 ................................................................................................................................................... 129
9.6 有序集合 .......................................................................................................................................... 131
10 sentinel 分析 .................................................................................................................................... 132
10.1 sentinel 概述......................................................................................................................... 132
10.2 sentinel 交互......................................................................................................................... 133
10.3 sentinel 客户端 .................................................................................................................... 134
10.4 Redis Sentinel 的执行过程和初始化 .......................................................................... 135
10.4.7 处理主从切换 .................................................................................................................. 156
1. Redis 主从部署
通过持久化功能,Redis 保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数
据,但是由于数据是存储在一台服务器上的,如果这台服务器出现故障,比如硬盘坏了,
也会导致数据丢失。
为了避免单点故障,需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器
出现故障其他服务器依然可以继续提供服务。
这就要求当一台服务器上的数据更新后,自动将更新的数据同步到其他服务器上,redis
主从复制功能正式解决此类问题的。
Redis 提供了复制(replication)功能来自动实现多台 redis 服务器的数据同步,可以通过
部署多台 redis,并在配置文件中指定这几台 redis 之间的主从关系,主负责写入数据, 同
时把写入的数据实时同步到从机器, 这种模式叫做主从复制, 即 master/slave,并且 redis
默认 master 用于写,slave 用于读。
从节点开启主从复制,有 3 种方式:
1. 配置文件: 在从服务器的配置文件中加入:slaveof <masterip> <masterport>
2. 启动命令: redis-server 启动命令后加入 --slaveof <masterip> <masterport>
3. 客户端命令: Redis 服务器启动后,直接通过客户端执行命令:slaveof <masterip>
<masterport>,则该 Redis 实例成为从节点。
通过 info replication 命令可以看到复制的一些信息
1.1 配置文件方式搭建主从集群
模拟多 Reids 服务器, 在一台已经安装 Redis 的机器上,运行多个 Redis 应用模拟多
个 Reids 服务器。一个 Master,两个 Slave.
新建三个 Redis 的配置文件
如果 Redis 启动,先停止。
作为 Master 的 Redis 端口是 6380
作为 Slaver 的 Redis 端口分别是 6382 , 6384
从原有的 redis.conf 拷贝三份,分别命名为 redis6380.conf, redis6382.conf ,
redis6384.conf
1.1.1 编辑主从配置文件
编辑 Master 配置文件
编辑 Master 的配置文件 redis6380.conf : 在空文件加入如下内容
include /usr/local/redis-3.2.9/redis.conf
daemonize yes port 6380
pidfile /var/run/redis_6380.pid logfile 6380.log
dbfilename dump6380.rdb
配置项说明
1
include
包含原来的配置文件内容
2
daemonize:yes
后台运行 redis
3
pidfile
自定义的文件,表示当前程序的 pid ,进程 id
4
dbfilename
持久化的 rdb 文件名
编辑 Slave 配置文件
编辑 Slave 的配置文件 redis6382.conf 和 redis6384.conf: 在空文件加入如下内容
redis6382.conf:
include /usr/local/redis-3.2.9/redis.conf
daemonize yes
port 6382
pidfile /var/run/redis_6382.pid logfile 6382.log
dbfilename dump6382.rdb
slaveof 127.0.0.1 6380
1.1.2 启动主从 redis 集群
1.1.3 查看服务信息
Master 服务的查看结果
剩余157页未读,继续阅读
魏言华
- 粉丝: 164
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0