简介: Redis6.x持久化配置介绍和RDB讲解
- Redis持久化介绍
- Redis是一个内存数据库,如果没有配置持久化,redis重启后数据就全丢失
- 因此开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。
- 两种持久化方式
- RDB (Redis DataBase)
- AOF (append only file)
- RDB持久化介绍
- 在指定的时间间隔内将内存中的数据集快照写入磁盘
- 默认的文件名为dump.rdb
- 产生快照的情况
- save
- 会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止
- bgsave
- fork创建子进程,RDB持久化过程由子进程负责,会在后台异步进行快照操作,快照同时还可以响应客户端请求
- 自动化
- 配置文件来完成,配置触发 Redis的 RDB 持久化条件
- 比如 "save m n"。表示m秒内数据集存在n次修改时,自动触发bgsave
- 主从架构
- 从服务器同步数据的时候,会发送sync执行同步操作,master主服务器就会执行bgsave
- save
- 优点
- RDB文件紧凑,全量备份,适合用于进行备份和灾难恢复
- 在恢复大数据集时的速度比 AOF 的恢复速度要快
- 生成的是一个紧凑压缩的二进制文件
- 缺点
- 每次快照是一次全量备份,fork子进程进行后台操作,子进程存在开销
- 在快照持久化期间修改的数据不会被保存,可能丢失数据
- 核心配置
- dir 持久化文件的路径
- dbfilename 文件名
#任何ip可以访问 bind 0.0.0.0 #守护进程 daemonize yes #密码 requirepass 123456 #日志文件 logfile "/usr/local/redis/log/redis.log" #持久化文件名称 dbfilename xdclass.rdb #持久化文件存储路径 dir /usr/local/redis/data #持久化策略, 10秒内有个1个key改动,执行快照 save 10 1 ######之前配置###### #导出rdb数据库文件压缩字符串和对象,默认是yes,会浪费CPU但是节省空间 rdbcompression yes # 导入时是否检查 rdbchecksum yes
分布式缓存Redis6.x持久化配置RDB操作实战
- 配置持久化
- dir 持久化文件的路径
- dbfilename 文件名
- save
- bgsave
- 配置文件触发
bind 0.0.0.0 daemonize yes requirepass 123456Xdclass logfile "/usr/local/redis/log/redis.log" dbfilename xdclass.rdb dir /usr/local/redis/data #关闭rdb #save "" #10秒2个key变动则触发rdb save 10 2 #100秒5个key变动则触发rdb save 100 5 #压缩 rdbcompression yes #检查 rdbchecksum yes
本文作者为DBC,转载请注明。