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:表示等操作系统进行数据缓存同步到磁盘(快)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。