安装配置redis主从同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装配置redis主从同步相关的知识,希望对你有一定的参考价值。

172.31.31.167 redis master

172.31.31.168 redis slave


yum -y install make gcc gcc-c++

tar -zxf redis-3.2.11.tar.gz && cd redis-3.2.11

make && make install

mkdir -p /usr/local/redis/conf

cp -pr /usr/local/bin /usr/local/redis

cp redis.conf /usr/local/redis/conf


配置文件修改如下内容:

daemonize yes

bind 172.31.31.167 7001

port 7001

pidfile /var/run/redis-7001.pid

logfile /data/redis/logs/redis-7001.log 

dir /data/redis/data/7001/

maxmemory 2GB


如果是redis主从同步,redis slave请修改如下内容:

slaveof masterip masterport    

slaveof 172.31.31.167 7001


启动redis:

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf


登录redis,通过info命令查看master、slave状态

cd /usr/local/redis/bin

./redis-cli


redis slave只是只读数据库而不能插入数据,如需要写的话把redis slave配置文件中slave-read-only yes改为slave-read-only no,重启服务即可.

也可以直接使用config命令更改。

config get slave-read-only //查询

config set slave-read-only no //设置


slave在线手工切换为master

config get slaveof //查询

slaveof no one //设置为master

slaveof 新masterip 新masterport //如果有的话需要设定


原master redis恢复要重新切换回去的话:

将现在的主redis的数据进行保存(save指令)

将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

启动原来的主redis

在现在的主redis中切换 SLAVEOF 旧masterip 旧masterport

在其他的slave节点切换 SLAVEOF 旧masterip 旧masterport


Redis-Sentinel高可用性(HA):

sentinel monitor <master-name> <ip> <redis-port> <quorum>

sentinel down-after-milliseconds <master-name> <milliseconds>

sentinel failover-timeout <master-name> <milliseconds>

sentinel parallel-syncs <master-name> <numslaves>


./redis-cli -p 26379

info sentinel //查看哨兵信息

sentinel master mymaster //查看master的状态 

SENTINEL slaves mymaster //查看salves的状态

SENTINEL sentinels mymaster //查看哨兵的状态

SENTINEL get-master-addr-by-name mymaster //获取当前master的地址


/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf

sentinel集群中各个sentinel都互相连接彼此来检查对方的可用性以及互相发送消息。但是不用在任何一个sentinel配置任何其它的sentinel的节点。因为sentinel利用了master的发布/订阅机制去自动发现其它也监控了统一master的sentinel节点。



删除当前数据库中的所有Key

flushdb


删除所有数据库中的key

flushall


删除某一个key

del key_name


创建key并赋值

SET key_name key_value


获取所有key

key *


获取某个key的值

get key_name



参考:

https://www.kancloud.cn/digest/redis330/162446

https://www.cnblogs.com/knowledgesea/p/6567718.html


以上是关于安装配置redis主从同步的主要内容,如果未能解决你的问题,请参考以下文章

Redis 主从复制群集和哨兵模式配置

redis主从复制故障转移

redis yum安装配置 redis主从

Redis 安装,主从配置及Sentinel配置自动Failover

Redis 安装,主从配置及Sentinel配置自动Failover

Redis主从配置