Linux学习-redis持久化之AOF和RDB

redis数据持久化
RDB
: ` bgsave开始会fork主进程得到子进程,子进程共享主进程的内存数据,完成fork后读取内存数据并写入RDB文件。
fork采用的是copy-on-write技术
. 当主进程执行读操作时,访问共享内存
. 当主进程执行写操作时,则会拷贝一份数据,执行写操作
`
# RDB会在什么时候执行
  # 默认是服务停止时执行
  # save 60 1000代表60秒内至少执行1000次修改则触发RDB
# RDB缺点
  # RDB执行间隔时间长,两次RDB之前写入数据有丢失的风险
  # fork子进程、压缩、写出RDB文件都比较耗时
//工作目录位置
dir /data/redis/
//redis持久化文件名称,此文件将存储在/data/redis/目录下
dbfilename test.rdb
# save <seconds> <changes>
#多长时间将数据保存至磁盘,如设置为save "",则禁用RDB
save 5 1
#是否开启压缩,建议不开户,压缩会消耗CPU资源
rdbcompression yes
AOF(Append Only File)追加文件
Redis处理的每一个写命令都会记录在AOF文件中,可以看做是命令日志文件
AOF默认是关闭的,需要修改redis.conf配置文件来开启AOF
#是否开户AOF功能,默认no
appendonly no
#AOF文件名称
appendfilename "appendonly.aof"
#AOF命令记录的频率
#表示每执行一次写命令,立即记录到AOF文件
appendfsync always
#写命令执行完成先放入AOF缓冲区,然后表示每隔1秒将缓冲区数据写到AOF文件,默认方案
appendfsync everysec
#写命令执行完成先放入AOF缓冲区,由操作系统决定何时将缓冲区内容写回磁盘
appendfsync no
#注:因为AOF要记录的是redis命令,命令可能会有很多重复的,AOF文件比RDB文件大很多,通过bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。
#通过开户新的线程在后台来执行append only rewrite操作
127.0.0.1:6379> BGREWRITEAOF
Background append only file rewriting started
#Redis会在触发阈值自动去重写AOF文件,阈值在redis.conf配置中可以设置
#AOF文件比上次文件增长超过多少百分比则触发重写
auto-aof-rewrite-percentage 100
#AOF文件体积最小多大以上才触发重写
auto-aof-rewrite-min-size 64mb

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值