概述
Redis 主从介绍
Redis 支持主从复制功能,可以通过执行 slaveof(Redis5 以后改成 replicaof)或者在配置文件中设置 slaveof(Redis5 以后改成 replicaof)来开启复制功能
主可写从不可写 主挂了,从不可为主
主 Redis 配置
无需多余的配置
从 Redis 配置
修改从服务器上的 redis.conf 文件:
# slaveof <masterip> <masterport>
# 表示当前【从服务器】对应的【主服务器】的IP是192.168.10.135,端口是6379。
replicaof 127.0.0.1 6379
Redis 安装启动
#第一步:安装 C 语言需要的 GCC 环境
yum install -y gcc-c++
yum install -y wget
#第二步:下载并解压缩 Redis 源码压缩包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxf redis-5.0.5.tar.gz
#第三步:编译 Redis 源码,进入 redis-5.0.5 目录,执行编译命令
cd redis-5.0.5/src
make
#第四步:安装 Redis,需要通过 PREFIX 指定安装路径
mkdir /usr/redis -p
make install PREFIX=/usr/redis
#复制conf
cp redis.conf /usr/redis/bin/
cp sentinel.conf /usr/redis/bin/
#修改redis.conf
vim redis.conf
#注释掉则不限于本机器访问
#bind 127.0.0.1
#no 允许外界访问
protected-mode no
#yes 守护进程后台启动
daemonize yes
#占用窗口启动 --不可以被远程访问
./redis-server
#关闭
control + c
#不占用窗口启动 --不可以被远程访问
./redis-server &
#守护进程后台启动 --可以被远程访问
./redis-server redis.conf
#守护进程后台启动关闭
./redis-cli shutdown
#查看进程
ps -ef |grep redis
root
7891
1977
0 17:14 pts/1
00:00:04 ./redis-server *:6379
#关闭进程
kill -9 7891
#客户端启动
./redis-cli -h 127.0.0.1 -p 6379
# 关闭centos的防火墙
#systemctl stop firewalld
# 设置centos防火墙不开机自启动
#systemctl disable firewalld.service
Redis 主从搭建
复制 redis 分别为 一个 master 和两个 slave
cd /usr
➜
/usr cp -r redis redis-master
➜
/usr ls
bin
etc
games
include
lib
lib64
libexec
local
redis
redis-master
sbin
share
src
tmp
➜
/usr mkdir redis-ms
➜
/usr cp -r redis redis-ms/redis-slave1
➜
/usr cp -r redis redis-ms/redis-slave2
➜
/usr mv redis-master redis-ms/
➜
/usr ls
bin
etc
games
include
lib
lib64
libexec
local
redis
redis-ms
sbin
share
src
tmp
➜
/usr cd redis-ms
➜
redis-ms cd redis-slave1
➜
redis-slave1 cd bin
➜
bin vim redis.conf
修改 redis-salve1 的 redis.conf 内容为
replicaof 127.0.0.1 6379
port 6381
修改 redis-salve2 的 redis.conf 内容为
replicaof 127.0.0.1 6379
port 6382
分别重启三台 redis 服务
cd /usr/redis-ms/redis-slave2/bin
./redis-server redis.conf
cd /usr/redis-ms/redis-slave1/bin
./redis-server redis.conf
cd /usr/redis-ms/redis-master/bin
./redis-server redis.conf
查看是否启动成功
➜
bin ps -ef | grep redis
root
2696
1
0 8月05 ?
00:04:31 ./redis-server *:6379
root
6800
1
0 16:31 ?
00:00:00 ./redis-server *:6382
root
6812
1
0 16:32 ?
00:00:00 ./redis-server *:6381
root
6829
6712
0 16:33 pts/1
00:00:00 grep --color=auto
分别对主机和 slave 进行操作
master
➜
bin ./redis-cli
127.0.0.1:6379> set notion allinone
OK
127.0.0.1:6379> get notion
"allinone"
127.0.0.1:6379> set todo mic
OK
127.0.0.1:6379> get todo
"mic"
127.0.0.1:6379> quit
➜
bin kill -9 2696
➜
bin ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
slave1
➜
bin ./redis-cli -p 6381
127.0.0.1:6381> get notion
"allinone"
127.0.0.1:6381> set todo mic1
(error) READONLY You can't write against a read only replica.
127.0.0.1:6381>
127.0.0.1:6381> set wps w1
(error) READONLY You can't write against a read only replica.
slave2
➜
bin ./redis-cli -p 6382
127.0.0.1:6382> get notion
"allinone"
127.0.0.1:6382> set todo mic1
(error) READONLY You can't write against a read only replica.
127.0.0.1:6382> set wps w2
(error) READONLY You can't write against a read only replica.
可以看到主库 负责读写,自动同步从库
从库只能读不能写,主库挂掉,从库无法上位
最后
以上就是单纯泥猴桃为你收集整理的Redis 搭建主从复制的全部内容,希望文章能够帮你解决Redis 搭建主从复制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复