redis-持久化

redis持久化

说明:持久化指的是一种如服务器忽然断电等突发情况导致数据未保存丢失的数据恢复技术
持久化分为2种方式,如下:
1、数据快照(redisRDB):每隔一段时间自动保存一下数据
2、过程(redisAOF):保存操作步骤,出现异常时,对数据依据保存的操作步骤重新操作来恢复数据

Redis-RDB持久化
说明:采用数据快照方式,在执行save或bgsave指令后保存全部数据
优点:
1、紧凑压缩的二进制文件,存储效率高
2、RDB内部存储时redis在某个时间点的数据快照,适用于数据备份和全量复制等
3、RDB恢复数据比AOF快很多
缺点:
1、RDB无法做到实施持续化,有较大可能丢失数据
2、bgsave需要创建子进程,需要消耗性能
3、Redis多版本中的RDB文件格式不统一,不能跨版本使用
应用:服务器每隔一段时间使用bgsave备份,将RDB文件拷贝至远程机器,用于灾难恢复
RDB启动方式:
命令:
1、save (在进行完redis操作后执行save,会在生成log的目录下生成dump.rdb文件,为数据备份。)
注:商业使用不推荐该方式,会造成阻塞,拖慢服务器性能。
2、bgsave (background save,后台保存操作,不是立即执行,是有redis服务器选择在合适的时间执行。)
注:bgsave的流程非常奇妙,推荐使用。当客户端调用dbsave时,服务器收到指令会fork出一个子进程来执行创建rdb文件的操作,完成后返回消息给服务器主进程,主进程返回给客户端。
3、save second changes (满足限定时间second秒范围内key的数量变化达到changes时自动进行持久化;以second为周期,到时间若变化数量不足changes,则清0重新计数)
注:该项为配置项,需配置在配置文件中,由服务器读取后自行启动
4、debug reload (服务器运行过程中重启)
5、shutdown save (关闭服务器时指定保存数据)
配置文件
1、dbfilename dump.rdb (设置数据库文件名称,通常为dump-端口号.rdb)
2、dir (设置rdb文件保存路径,通常名字为data)
3、rdbcompression yes (设置数据库文件是否压缩,默认为yes使用LZF压缩。不压缩可节省CPU运行时间,但是会是存储的文件变大)
4、rdbcheksum yes (设置是否为RDB文件进行校验,该过程在写文件和读文件均进行)
5、stio-writes-on-bgsave-error yes (后台存储过程中出现错误,是否停止操作,默认为yes停止)
6、save second changes(满足限定时间second秒范围内key的数量变化达到changes时自动进行持久化;以second为周期,到时间若变化数量不足changes,则清0重新计数)
注:通常默认开启,如果设置为no,可节约10%左右的读写时间,但是存储数据有一定损坏风险

Redis-AOF持久化
说明:
AOF(append only file)持久化:以独立日志方式记录每次的写命令,重启时执行AOF文件中的命令达到恢复数据的目的。与RDB相比可以简单描述为改记录数据为记录数据产生的过程。AOF主要是解决了数据持久化的实时性。
AOF操作过程:服务器接收到指令时放到缓冲区,到了一定阶段是同步到AOF文件
配置文件:
1、appendonly yes|no (是否开启AOF持久化功能,默认不开启)
2、appendfsync always|everysec|no (选择AOF写数据策略:alway每次接到指令都写到AOF;everysec每秒记录同步到AOF文件;no系统控制记录)
3、appendfilename filename (修改aof文件名,简易appendonly-端口号.aof)
4、dir (aof文件保存路径)

AOF重写
说明:

1、将多条指令合并,如3个set语句合并为1个一次性set进去。
2、进程已超时的数据不做记录
3、忽略无效指令,或对数据库内容无影响的,如get;或是多次increment之后重新set,前面的increment不会记录
优点:
1、存储大量数据的速度大于RDB
2、数据安全性高于RDB,不易丢失
3、资源消耗低于RDB
4、启动优先级高于RDB
缺点:
1、存储占用空间大于RDB
2、恢复数据比RDB慢,要重新执行指令
应用:
适合对数据安全性要求高的场景
命令:
1、bgrewriteaof (手动重写,收到指令后fork出子进程执行重写操作)
2、info (获取运行属性值,包括当前aof大小和基础尺寸)
配置文件:
1、aof_current_size (设置aof大小)
2、auto-aof-rewrite-min-size size (自动重写,当size大于上面配置的aof大小时,则自动重写)
3、aof_base_size (基础尺寸)
4、auto-aof-rewrite-percentage percent (自动重写,当前尺寸减去基础尺寸除基础尺寸,大于设置的百分比,则自动重写)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值