标签:命令 fsync sync 行数据 根据 2.3 实现 导致 丢失
1. redis作为内存数据库需要保存大量用户的数据,但是redis中的数据保存到内存中,由于断电/宕机,肯定会导致内存数据丢失,为了防止数据丢失,采用持久化的方式,实现内存数据的备份;
当redis内存中有数据时,通过自身的策略有2中方式,一种是RDB模式,一种是AOF(默认);根据自身模式的设定进行数据的持久化;RDB或者AOF都有各自的持久化文件;
当redis重启时,会根据配置文件中指定的持久化文件的名称,加载持久化文件,为了恢复内存的数据;
2. RDB模式:
2.1 特点:RDB模式定期将内存中的数据进行持久化,如果用户允许丢失少量的数据,则首选RDB模式,因为RDB模式定期为内存做快照;该方式的备份的速度时很快;
2.2 备份命令:(执行redis备份命令需要在客户端中redis-cli执行)
save(手动备份)-------会造成线程的阻塞,只有当备份操作完成时,才允许执行redis更新操作;
bgsave(后台备份)----表示后台运行,不会造成线程的阻塞,其会挑不忙的时间做数据备份;
2.3 备份方式:
save 900 1 在900秒内,redis做一次更新操作,则备份一次
save 300 10 在300秒内,redis做10次更新操作,则备份一次
save 60 10000 在60秒内,redis做10000次更新操作,则备份一次
3. AOF模式:(可以做到实时数据备份,该模式相当于通过配置文件记录了用户的全部操作过程);持久化文件明文保存,没有加密;(AOF模式开启后,RDB模式不生效!!!)
3.1 特点:实时的数据备份,安全性好,持久化的速度较RDB模式慢;
AOF持久化文件的体积很大;当数据恢复时,需要消耗很长的时间;
3.2 AOF持久化策略:
appendfsync always----------每次操作都会备份
appendfsync everysec-------每秒备份一次
appendfsync no----------------不做操作
标签:命令 fsync sync 行数据 根据 2.3 实现 导致 丢失
原文地址:https://www.cnblogs.com/yikuan-919/p/9900236.html