美文网首页
Redis 进行持久化的方式

Redis 进行持久化的方式

作者: Hesunfly | 来源:发表于2019-08-06 09:16 被阅读0次

    Redis 是一款非常流行的 Nosql 产品,和一般的 Nosql 不同的是,Reids 提供了数据的持久化功能,防止在出现意外的情况,可以进行数据备份恢复。Redis 支持的持久化方式分别为 Snapshotting ( 快照方式 bgsave ) 和 Append-only file ( 追加持久化 aof )。

Snapshotting 持久化方式

该方式是 Redis 默认开启的持久化方式,一次性把 Redis 中全部的数据存储在硬盘中,不过该方式会耗费大量的时间和服务器资源,尤其是数据量过大的时候。

1. 开启和关闭的方式

在 Redis 的配置文件中,找到下面几行配置项

save 900 1   #900秒内超过1个key被修改则发起快照保存
save 300 10  #300秒内超过10个key被修改则发起快照保存 
save 60 10000  #60秒内超过10000个key被修改则发起快照保存 

屏蔽上面的触发条件即可关闭快照方式。

2. 设置保存位置和快照文件名

备份的默认文件名为 dump.rdb,我们可以修改配置文件来改变默认文件名:

#修改 dbfilename 配置项的值即可改变快照文件名
dbfilename dump.rdb        eg:dbfilename redis_bgsave.rdb
 #修改 dir 配置项的值即可修改快照文件保存的路径
dir /var/lib/redis                  eg:dir ./
3. 手动进行快照

登录状态下直接执行 bgsave 命令即可:

127.0.0.1:6379> bgsave
Background saving started

未登录状态下执行:

$ redis-cli bgsave
Background saving started

Append-only file 持久化方式

Aof 模式的原理是将添加、修改和删除的的命令备份到文件中,恢复时执行该命令即可。

1. 开启和关闭方式

打开 Redis 的配置文件

#将 appendonly 的值改为yes即可
appendonly yes
#存储的文件名,默认为appendonly.aof
appendfilename "appendonly.aof"

如果 Bgsave 和 Aof 都开启,则以 Aof 为准。

2. 触条条件

触发条件需要在 Redis 配置文件中进行修改

#always方式是将每个数据变动的命令都存入磁盘中,速度比较慢,但是可以保证完全的持久化。
appendfsync always
#everysec方式是每秒进行磁盘写入,对于性能和持久化方面有很好的折中,这也是redis默认开启的触发条件
appendfsync everysec
#no方式依赖与操作系统,性能最好,但是对于持久化没有保证
appendfsync no

    两种方式的各有优缺点,选择哪一种则需要根据自己的业务场景进行选择。不过幸运的是 Redis 4.0 版本后,有了混合持久化的功能,将 Bgsave 的全量和 Aof 的增量做了融合处理,这样既保证了恢复的效率又兼顾了数据的安全性,这样我们就能更好使用 Redis 了。

文章同步发布在我的个人博客中,传送门Hesunfly Blog

相关文章

  • 【5分钟背八股】redis持久化RDB和AOF?

    Redis 持久化 Redis 提供了不同级别的持久化方式: RDB持久化方式能够在指定的时间间隔能对你的数据进行...

  • Redis 持久化方式

    快照方式持久化(RDB存储) 快照方式持久化就是在某时刻把所有数据进行完整备份,Redis默认存储方式redis....

  • 2020-02-21 记录redis(8)

    redis持久化,两种持久化方式: RDB方式 AOF方式 持久化的使用方式: RDB 优势: 1、redis的数...

  • Redis持久化是如何做的?RDB和AOF对比分析

    redis持久化2种方式 Redis持久化有 RDB 和 AOF两种方式 一、redis持久化----两种方式1...

  • 一些Redis知识点记录

    Redis 数据存放在内存中,需要配置持久化将数据保存在磁盘上,redis提供两种方式进行持久化: 1、RDB持久...

  • Redis学习笔记

    聊聊redis持久化 – 两种方式 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)...

  • 聊一聊redis持久化

    聊聊redis持久化 – 两种方式 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)...

  • Redis持久化(三)

    Redis持久化方式 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件): RDB持久化方...

  • Redis持久化详解(RDB、AOF)

    Redis 提供了不同级别的持久化方式(RDB默认方式): RDB持久化方式能够在指定的时间间隔能对你的数据进行快...

  • Redis之持久化

    参考 深入学习Redis(2):持久化 转载自icyfire-Redis持久化 Redis有两种持久化的方式:快照...

网友评论

      本文标题:Redis 进行持久化的方式

      本文链接:https://www.haomeiwen.com/subject/trgbdctx.html