说明:
搭建reids主从,可以在同一台服务器上,也可以不在同一台服务器上。
配置主:
(1)首先获取服务器ip
ifconfig
(2)修改redis
配置文件
sudo vim /etc/redis/redis.conf
# 绑定为服务器真实IP
bind 192.168.183.130
(3)启动主redis
服务
sudo redis-server /etc/redis/redis.conf
配置从:
(1)复制/etc/redis/redis.conf
文件,重命名为slave.conf
sudo cp /etc/redis/redis.conf /etc/redis/slave.conf
(2)修改slave.conf
文件
sudo vim /etc/redis/slave.conf
# 绑定本机IP
bind 192.168.183.130
# 绑定从属于的服务器的IP和端口,低版本的redis应该使用slaveof,具体根据你redis配置文件查看。
replicaof 192.168.183.130 6379
# slaveof 192.168.183.130 6379
# 指定本机redis端口,切记不能使用和主redis相同的端口号
port 6378
(3)启动从redis
服务
sudo redis-server /etc/redis/slave.conf
查看主从关系
redis-cli -h 192.168.183.130 info Replication
通过主服务器查看主从关系
通过从服务器查看主从关系
数据操作
(1)进入主客户端
redis-cli -h 192.168.183.130 -p 6379
(2)进入从客户端
redis-cli -h 192.168.183.130 -p 6378
(3)在master
上写
数据
ubantu@ubantu-virtual-machine:~$ redis-cli -h 192.168.183.130 -p 6379
192.168.183.130:6379> set name xiaoming
OK
(4)在slave
上读
数据
ubantu@ubantu-virtual-machine:~$ redis-cli -h 192.168.183.130 -p 6378
192.168.183.130:6378> get name
"xiaoming"
注意:
在从服务上不能写数据,只能读数据
192.168.183.130:6378> set age 12
(error) READONLY You can't write against a read only replica.
使用环境:
在真实生产环境中,为了防止服务器出现故障从而导致数据丢失,一般至少会有一个备用库,来时时同步更新数据,在数据库服务器出现异常情况下,可以使用该备用库继续提供数据。
redis
主从服务器即实现了这样一个功能,在redis中,一个主(master)可以拥有多个从(slaver),一个从又可以拥有多个从,如此下去,形成了集群架构
。