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
原文地址:http://blog.51cto.com/gyj110/2085632