码迷,mamicode.com
首页 > 其他好文 > 详细

安装配置redis主从同步

时间:2018-03-12 18:42:13      阅读:160      评论:0      收藏:0      [点我收藏+]

标签: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

原文地址:http://blog.51cto.com/gyj110/2085632

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!