1. Linux中搭建Redis
-
第一步:安装依赖
yum install gcc-c++
-
第二步:创建文件夹
mkdir /opt/redis -p
-
第三步:进入创建的文件夹
cd /opt/reids
-
第四步: 上传压缩包
rz指令上传压缩包
-
第五步:解压
tar -zxvf redis-3.2.9.tar.gz
-
第六步:进入解压目录
cd redis-3.2.9
-
第七步:编译
make
-
第八步:安装
make install
-
第九步:进入src目录
cd src
-
第十步:前台启动
redis 分为前台启动 和后台启动 前台启动: 命令: ./redis-server 问题: 启动后 窗口无法操作
-
第十一步: 可以后台启动
1: 修改配置文件 修改redis.config (配置文件在解压目录) 修改配置文件中的 daemonize 修改成 daemonize yes (默认是no 改成yes) 保存退出 2: 指定配置文件启动 进入 src目录 ./redis-server ../redis.conf
-
第十二步: 查看是否启动成功
ps -ef | grep redis
-
第十三步: 本地连接
./redis-cli
-
第十四步: 退出
exit 或者quit
2.主从复制搭建
2.1. 什么是主从复制
表示:部署多个台Redis服务器,多台Redis服务器可以不在同一台机器上,将一台Redis服务器中的数据,复制到其他多台服务器身上,其中被复制的服务器是主节点,复制的服务器是从节点
注意:复制时单项的 是从主节点复制到从节点 一个主节点可以有多个从节点,一个从节点后面也可以有很多从节点 整体是一个树型
2.2. 主从复制的好处
1: 数据备份: 主节点中的数据 都会被复制到从节点中 ,就算主节点数据丢失了 从节点也会有备份的数据
2: 故障恢复: 当主节点挂了之后 因为从节点有所有备份的数据 可以使用从节点对外提供服务 对于客户端来讲
无感知
3: 读写分离: 单机的时候 主节点又负责写 又负责读,此时我们有主节点又从节点 我们主节点可以只负责写
从节点只负责读,此时在一些写少读多的系统 我们多个从节点进行负载均衡 大大提升系统的并发量
2.3.配置redis.conf文件
一拖二,主配置不动,复制两个改名字
二个配置文件都要修改
修改一: 修改启动的端口 (端口不能一致)
修改二: 指定主节点的ip 端口
修改三: 指定主节点的密码
2.3.1. 启动主节点
./redis-server ../redis.conf
2.3.2. 启动两个从节点
./redis-server ../redis2.conf ./redis-server ../redis3.conf
2.3.3. 查看主节点
登录 ./redis-cli 或者(./redis-cli -a root)登录直接指定密码(密码root) 验证密码 auth root 查看信息 info replication
2.3.3. 查看从节点
登录从节点 验证密码 ./redis-cli -h 192.168.91.132 -p 6400 -a root 查看信息 info replication
2.3.4. 开放端口
## 开放端口 或者关闭防火墙 firewall-cmd --zone=public --add-port=6400/tcp --permanent firewall-cmd --zone=public --add-port=6500/tcp --permanent ## 开放端口之后 需要重新启动防火墙 systemctl restart firewalld.service
2.3.5. 远程连接
2.4. 主从复制原理(流程)
主从复制的流程分为3个阶段 第一阶段:准备阶段 (连接阶段) 第二阶段:同步阶段 第三阶段:命令传播阶段
2.4.1. 准备阶段
-
注意点
注意点一: 发送ping指令 如果不返回pong时 当发送ping指令是 可能会出现另外2种结果 第一种超时 第二种其他结果 不管是哪中结果 此时socket不可用 则会断开 并且重连 注意点二: 输入密码不正确时 密码如果输入不正确 此socket会断开 并且尝试重连
2.4.2. 复制阶段
复制阶段分类 全量复制: 全量复制 表示主从初次连接此时从机会把主机中的所有的内容全部复制过来 如果数据量大 这个过程是一个重型的过程 部分复制:当全量复制完成之后,再进行写的操作 此时从节点只需要复制新写的内容即可 并不需要重新再全部复制一遍 ,另外一个场景,当进行网络故障时
2.4.3. 命令传递阶段
数据同步阶段完成后,主从节点进入命令传播阶段;在这个阶段主节点将自己执行的写命令发送给从节点,从节点接收命令并执行,从而保证主从节点数据的一致性。 注意: 命令传播是异步的过程,即主节点发送写命令后并不会等待从节点的回复;此时网络延迟,主从节点之间的网络状况、主节点写命令的执行频率、都会影响数据的一致性,
2.5. 主从复制问题
主从复制无法保证高可用,当主节点宕机之后,从节点不会自动变成主节点对外提供服务 此时需要人工参与,如果由人工参与 则会增加人力成本 并且人工操作 容易产生错误
3.哨兵模式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192878.html