Redis持久化配置

1、RDB持久化配置

      Redis会将数据集的快照dump到dump.rdb文件中。此外,我们也可以通过配置文件来修改Redis服务器dump快照的频率,在打开6379.conf文件之后,我们搜索save可以看到下面的配置信息:

  • save 900 1                #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。
  • save 300 10                #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。
  • save 60 10000        #在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照。

192.168.100.20 上:

《1》:slaveof no one  取消主从复制

《2》:redis-cli -h 192.168.100.20 -a 123456 -p 6379  登录

《3》:slaveof no one   取消主从复制

192.168.100.10 上:

《1》:info replication  查看

《2》:vim /etc/redis/6379.conf

《3》:修改

219 save 900 1

220 save 300 10

221 save 60 10000

242 rdbcompression yes                        #RDB文件是否进行压缩

254 dbfilename dump.rdb                        #文件名称

264 dir /var/lib/redis/6379                        #文件保存位置

《3》:ls /var/lib/redis/6379/  查看

《4》:rm -rf /var/lib/redis/6379/dump.rdb   删除

《5》:killall -9 redis-server   杀死进程

《6》: rm -rf /var/run/redis_6379.pid  删除pid文件

《7》:service redis_6379 start   启动

《8》:redis-cli -h 192.168.100.10 -a 123456 -p 6379  登录

《9》:keys *  查看

《10》:set name guan  (注:这里报错了。)

解决方法:

《1》:vim /etc/redis/6379_conf  编辑文件

《2》:注释:

#min-slaves-to-write 2

#min-slaves-max-lag 10

《3》:killall -9 redis-server

《4》:rm -rf /var/run/redis_6379.pid

《5》:service redis_6379 start 

《6》:redis-cli -h 192.168.100.10 -a 123456 -p 6379

《11》:set name guan  写入

《12》:set age 18

《13》:set address beijing

《14》:keys *

《15》:save   自己做持久化

《16》:ls /var/lib/redis/6379/  查看

《17》:rm -rf /var/lib/redis/6379/dump.rdb   删除

《18》:killall -9 redis-server   杀进程

《19》:rm -rf /var/run/redis_6379.pid    删除pid

《20》;/etc/init.d/redis_6379 start  启动

《21》:redis-cli -h 192.168.100.10 -a 123456 -p 6379

《22》:keys *  查看

2、AOF持久化配置

Redis的配置文件中存在三种同步方式,它们分别是:

  • appendfsync always        #每次有数据修改发生时都会写入AOF文件
  • appendfsync everysec        #每秒钟同步一次,该策略为AOF的缺省策略
  • appendfsync no                #从不同步。高效但是数据不会被持久化。

192.168.100.10 上

《1》:killall -9 redis-server

《2》:rm -rf /var/run/redis_6379.pid 

《3》:ls /var/lib/redis/6379/

《4》:/etc/init.d/redis_6379 start  启动

《5》:vim /etc/redis/6379.conf  编辑配置文件

《6》:修改

673 appendonly yes                                        #是否开启AOF

677 appendfilename "appendonly.aof"        #文件名称

703 appendfsync everysec

744 auto-aof-rewrite-percentage 100

745 auto-aof-rewrite-min-size 64mb

《7》:killall -9 redis-server

《8》:rm -rf /var/run/redis_6379.pid 

《9》:/etc/init.d/redis_6379 start

《10》:ls /var/lib/redis/6379/  查看

《11》:redis-cli -h 192.168.100.10 -a 123456 -p 6379

《12》:set name guan

《13》:set age 18

《14》:set address beijing  写入信息

《15》:ls /var/lib/redis/6379/   查看

《16》:cat /var/lib/redis/6379/appendonly.aof   查看文件内容

《17》:killall -9 redis-server

《18》:rm -rf /var/run/redis_6379.pid

《19》: /etc/init.d/redis_6379 start

《20》:redis-cli -h 192.168.100.10 -a 123456 -p 6379

《21》: keys *  查看,他还是有的

3、AOF重写功能

AOF持久化存在以下缺点:

  • Redis会不断地将被执行地命令记录到AOF文件里面,所以随着Redis不断运行,AOF文件的体积也会不断增长。在极端情况下,体积不断增大的AOF文件甚至可能会用完硬盘的所有可用空间。
  • Redis在重启之后需要通过重新执行AOF文件记录的所有命令来还原数据集,所以如果AOF文件的体积非常大,那么还原操作执行的时间就可能会非常长。

      为了解决AOF文件体积不断增大的问题,用户可以向Redis发送BGREWRITEAOF命令,

这个命令会通过移除AOF文件中的冗余命令来重写(rewrite)AOF文件,使AOF文件的体积变得尽可能地小。BGREWRITEAOF地工作原理和BGSAVE创建快照地工作原理非常相似:

Redis会创建一个子进程,然后有子进程负责对AOF文件进行重写。因为AOF文件重写也需要用到子进程,所以快照持久化因为创建子进程而导致地性能问题和内存占用问题,在AOF持久化中也同样存在。

     跟快照持久化可以通过设置save选项来自动执行BGSAVE一样,AOF持久化也可以通过设置auto-aof-rewrite-percentage选项和auto-aof-rewrite-min-size选项来自动执行BGREWRITEAOF。

     举个例子,假设用户对Redis设置了配置选项auto-aof-rewrite-percentage 100和auto-aof-rewrite-min-size 64mb,并且启动了AOF持久化,那么当AOF文件地体积大于64MB,并且AOF文件的体积比上一次重写之后的体积大了至少一倍(100%)的时候,Redis将执行BGREWRITEAOF命令。如果AOF重写执行得过于频繁的话,用户可以考虑将auto-aof-rewrite-percentage选项的值设置为100以上,这种做法可以让Redis在AOF文件的体积变得更大之后才执行重写操作,不过也会让Redis在启动时还原数据集所需的时间变得更长。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BK_小小关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值