Redis中服务端的常用命令

环境

所使用的系统为Ubuntu系统,Redis所安装版本为5.0.3,当前redis已可以正常启动,并且已经开启rdb文件备份和aof日志备份。

查看当前数据库的key的数量

dbsize

后台进程重写AOF

bgrewriteaof

后台保存rdb快照

bgsave

保存rdb快照

save

在rdb保存完成之前,当前进程为阻塞状态

后台进程重写AOF

bgrewriteaof

查看上次保存时间

lastsave    

清空服务器

flushdb
flushdb

获取服务器信息

info 后边添加更加详细的参数 
info clients
info stats

主从同步

sync

flushdb或flushall的恢复策略

注:如果进行flush操作之后,aof已经进行了重写,导致aof文件为空,那么是无法恢复的.
shutdown nosave #不保存当前命令进aof文件,进行关机
vi appendonly.aof #需要找到shutdown命令所在,并将它删除即可
./bin/redis-server redis.conf #然后进行重启 

在aof恢复文件中,一个完整的命令从*开始,由于flushdb命令比较短,所以只占三行。

两个redis服务器的同步操作

由于rdb文件是需要满足一定条件才会进行保存,所以会丢失一部分数据,建议通过aof文件进行同步。如果想两个服务器的数据一直同步,可以将两个服务器设为集群。

1.通过aof文件同步
cp redis.conf redis6380.conf
vi redis6380.conf #将6380端口的aof文件名字改为新的文件名
cp appendonly.aof appendonly6380.aof
./bin/redis-server ./redis6380.conf
./bin/redis-cli -p 6380 #进入6380的客户端

2.通过rdb文件同步

由于rdb和aof同时存在的时候,会自动通过aof进行同步,所以需要首先关闭aof同步

vi redis6380.conf #修改下边的配置文件
appendonly no #是否打开aof日志功能
./bin/redis-cli #进入6379的客户端
save #手动进行rdb文件的保存
shutdown nosave 
cp dump.rdb dump6380.rdb
./bin/redis-server ./redis6380.conf

redis服务器集群的配置

slave服务器为master提供服务,能够分担master的负担
redis集群主要分为线型和星型,线型的好处是master宕机之后,可以切换到slave1,如果slaver2宕机,可以切换到slave2。这里所使用的星型

1.复制配置文件

因为redis的启动是基于配置文件的启动,所以仅需要对配置文件进行修改即可

cp redis.conf redis6380.conf 
2.修改配置文件
vim redis6380.conf #修改pid文件 port salveof
port 6380 #修改端口号
pidfile /var/run/redis_6380.pid #修改pid文件
replicaof localhost 6379 #将它作为谁的复制
3.对原配置文件进行修改

由于有了从服务器,则只打开aof即可,因为rdb比较耗费资源,可以将这一任务转交给从服务器。

vim redis.conf #禁用rdb选项
# save 900 1
# save 300 10
# save 60 10000
4.制作启动脚本
vi startRedis-cluster.sh #制作启动脚本
chmod +x startRedis-cluster.sh #添加执行权限

手工修改slave为master服务器

1.修改要作为master服务器的配置
info Replication #查看配置
slaveof no one #修改为master
config set  slave-read-only no #修改为可写
2.修改其他slave服务器的配置
slaveof localhost 6380 #将前一个slave置为master

使用sentinel实现主从服务器的切换、

1.环境介绍

6379端口的为主服务器,6380和6381端口的为从服务器,并且要要添加3个哨兵,来观察6379端口所运行的主服务器的状况。

2.修改配置文件(以6379和6380的配置文件为例)

6379所需改动:

cp sentinel.conf ../../redis-cluster/ #将源码包下边的配置文件复制到集群文件夹下边
vi sentinel.conf #修改sentinel的配置文件
daemonize yes #改为后台启动
sentinel monitor mymaster 127.0.0.1 6379 2 
#	sentinel monitor <master-name> <ip> <redis-port> <quorum>
#	master-name:为这个哨兵起一个名字,在这个配置文件保持一致
#   quorum :quorum个哨兵发现主服务器宕机之后,进行切换

6380所需修改:

cp sentinel.conf  sentinel6380.conf 
vi redis6380.conf #对候选master的配置文件进行改动
port 26380 #修改端口
pidfile "/var/run/redis-sentinel6380.pid" #修改pid文件
sentinel myid be4051e6b19fc3b507df8b8fd4493c5517b90e7c
#修改id的值,以免跟6379端口的值重复
3.启动三个哨兵
./bin/redis-sentinel ./sentinel.conf  
./bin/redis-sentinel ./sentinel6380.conf  
./bin/redis-sentinel ./sentinel6381.conf  

也可以制作启动脚本具体步骤跟集群脚本的制作过程一样

3.想设置那个从服务器的第一候选,则修改它的redis.conf
vi redis6380.conf 
replica-priority 10 #设置优先级,优先级越小则越靠前,如果设置为0,则永远不会升为主站

官方文档参考:官方提供sentinel文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值