前言
所谓持久化可以简单理解为将内存中的数据保存到硬盘上存储的过程。持久化之后的数据在系统重启或者宕机之后依然可以进行访问,保证了数据的安全性。一键获取最先java文档。
Redis有两种持久化方案,一种是快照方式(SNAPSHOTTING),简称RDB;一种是只追加模式(APPEND ONLY MODE),称为AOF。接下来让我们分别了解一下它们的使用与注意事项。
RDB
RDB为Redis DataBase的缩写,是 Redis 默认的持久化方案。它能够在指定的时间间隔内将内存数据集快照(snapshot)写入磁盘,恢复时将快照文件( dump.rdb )读回内存。
我们先来扒一下配置文件中的SNAPSHOTTING:
配置文件
save
在给定的秒数内,如果对数据库执行的写入操作数达到设定的值,则将数据同步到数据文件。支持多个条件配合,Redis默认配置文件中提供了三个条件:
save 900 1 //900s内有1个更改
save 300 10 //300s内有10个更改
save 60 10000 //60s内有10000次更改
注意: 若不想用RDB方案,可以把 save ""的注释打开,上边三个注释掉。
stop-writes-on-bgsave-error yes
当bgsave出现错误时,Redis是否停止执行写命令;
如果为yes,则当硬盘出现问题时,Redis将停止接受写入操作,这样我们可以及时发现,避免数据的大量丢失;
如果为no,则Redis无视bgsave的错误继续执行写命令。
如果已经设置了对Redis服务器的正确监视和持久性,即采用了其他手段发现和控制数据完整性,可能希望禁用此功能,以便即使在磁盘、权限等方面出现问题时,Redis仍能正常工作。
注意: 如果后台保存过程将再次开始工作,Redis将自动允许再次写入。
rdbcompression yes
指定存储到本地数据库时是否压缩(Redis采用LZF压缩)数据,默认为yes。如果为了节省CPU时间,可以关闭该选项