redis持久化AOF与RDB配置
修改redis.conf配置文件自动触发保存#save设置数据保存到数据文件中的save规则save9001:表示900秒内如果至少有1个key的值变化,则保存sa
- 修改 redis.conf 配置文件 自动触发保存
# save 设置数据保存到数据文件中的save规则
save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存
save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存
save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化,则保存
# 数据rdb压缩设置
dbcompression yes #指定存储至本地数据库时是否压缩数据,默认是yes,redis采用LZF压缩,如果为了节省CPU时间
#可以关闭该选项,但会导致数据库文件扁的巨大
dbfilename dump.rdb #指定rdb保存到本地数据库文件名
stop-writes-on-bgsave-error yes #当硬盘因为权限等原因无法写入时,停止写入
rdbchecksum yes #对rdb文件进行校验
# aof文件操作
appendonly no #指出是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失,因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段
#时间内只存在于内存中。
# appendfsync always # always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
appendfsync everysec # everysec:表示每秒同步一次(折衷,默认值)
# appendfsync no # no:表示等操作系统进行数据缓存同步到磁盘(快)
- 手动触发
手动触发Redis进行RDB持久化的命令有两种:
①、save
该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。
显然该命令对于内存比较大的实例会造成长时间阻塞,这是致命的缺陷,为了解决此问题,Redis提供了第二种方式。
②、bgsave
执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体操作是Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短。
基本上 Redis 内部所有的RDB操作都是采用 bgsave 命令。
ps:执行执行 flushall 命令,也会产生dump.rdb文件,但里面是空的. 获取 redis 的安装目录可以使用 config get dir 命令
相关文章
- okhttp、okhttp3使用post方式发送form-data数据
- JAVA字符串逗号分隔并对每个字符串添加引号
- [Docker系列] Install BaoTa with Docker
- [信创系列]银河麒麟安装nodejs18和npm2,并启动对应工程
- EasyExcel导出Excel并合并单元格
- Python3安装pip及pip安装whl包
- [Ubuntu系列]Ubuntu 安装 Harbor
- [Ubuntu系列]Ubuntu 安装 docker 及修改 docker 存储位置
- [Centos系列]CentOS 修改 DNS
- [Centos系列]source /etc/profile 无法永久生效问题
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~