Redis 彻底禁用RDB持久化操作

Redis 禁用RDB持久化

Redis是默认开启RDB的,AOF则是默认关闭的。如果需要关闭RDB,将Redis完全作为一个缓存使用,需要修改配置项save。

开启save “”, 将save 900 1、save 300 10、save 60 10000注释掉。

配置文件修改如下:

save “”
#save 900 1
#save 300 10
#save 60 10000

如果是中途关闭RDB持久化,还需要删除已经生成的文件dump.rdb。重启即可完全关闭RDB持久化。

可以通过命令config get dbfilename获取最新的文件名。通过命令config get dir获取最新路径。

配置文件中的配置如下:

#指定本地数据库文件名,一般采用默认的 dump.rdb
dbfilename dump.rdb

#数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目录
dir /usr/local/redis/var

Redis 持久化AOF与RDB配置

AOF保存的数据方案时最完整的,如果同时开启了rdb和aof下,会采用aof方式。

(1)设置数据保存到数据文件中的save规则

save 900 1 #900秒时间,至少有一条数据更新,则保存到数据文件中
save 300 10 #300秒时间,至少有10条数据更新,则保存到数据文件中
save 60 10000 #60秒时间,至少有10000条数据更新,则保存到数据文件中

(2)数据rdb压缩设置

rdbcompression yes #指定存储至本地数据库时是否压缩数据,默认是yes,redis采用LZF压缩,如果为了节省CPU时间
#可以关闭该选项,但会导致数据库文件扁的巨大
dbfilename dump.rdb #指定rdb保存到本地数据库文件名
stop-writes-on-bgsave-error yes #当硬盘因为权限等原因无法写入时,停止写入
rdbchecksum yes #对rdb文件进行校验

(3)aof文件操作

appendonly no #指出是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失,因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段
#时间内只存在于内存中。
# appendfsync always # always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
appendfsync everysec # everysec:表示每秒同步一次(折衷,默认值)
# appendfsync no # no:表示等操作系统进行数据缓存同步到磁盘(快)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。


数据运维技术 » Redis 彻底禁用RDB持久化操作