持久化
来源:Node.js
持久化
Redis是一种内存数据库,假设服务器宕机了,Redis存储的数据会丢失,所以需要进行持久化
Redis提供了两种持久化方案
RDB(Redis Database)
- RDB是一种快照的,将内存中的数据定期保存到磁盘上
- 可以配置Redis服务器,设置自动触发RDB快照的条件,例如在指定的时间间隔内、或在指定的写操作次数达到一定阈值时,进行快照保存
- 持久化后生成的快照文件是一个二进制文件,包含了Redis数据的完整状态
- 在恢复数据时,可以通过加载快照文件将数据重新加载到内存中
AOF(Append-Only File)
- AOF记录了Redis服务器执行的所有写操作命令,在文件中以追加的方式保存
- 当Redis需要重启时,可以重新执行AOF文件中保存的命令,以重新构建数据集
- 相比于RDB持久化,AOF持久化提供了更好的数据恢复保证,因为它记录了每个写操作,而不是快照的形式
- 然而,AOF文件相对于RDB文件更大,恢复数据的速度可能会比较慢
配置
RDB配置
在配置文件中修改save的配置
save 900 1
:900秒内进行1次改动就会触发快照save 300 10
:300秒内进行100次修改就会触发快照save 60 10000
:60秒内进行10000次修改就会出发快照
具体策略需要根据服务器的用户量与负载情况斟酌
快照会被存在redis文件夹中的dump.rdb中
也可以直接执行save命令手动保存一次快照
AOF配置
在配置文件中修改appendonly的值为yes(默认为no)
评论