Redis |
您所在的位置:网站首页 › 重启redis会清空rdb › Redis |
1)RDB的介绍(是默认的) RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。RDB是Redis默认的持久化方式,会在对应的目录下生产一个dump.rdb文件,重启会通过加载dump.rdb文件恢复数据。 2)RDB优点 (1)只有一个文件dump.rdb,方便持久化; (2)容灾性好,一个文件可以保存到安全的磁盘; (3)性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是IO最大化; (4)如果数据集偏大,RDB的启动效率会比AOF更高; 3)RDB缺点 (1)数据安全性低:RDB是间隔一段时间进行持久化,如果持久化之间redis发生故障,会发生数据丢失; (2)由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒 4)对过期key的处理 (1)持久化key之前,会检查是否过期,过期的key不进入RDB文件; (2)数据载入数据库之前,会对key先进行过期检查,如果过期,不导入数据库(主库情况); 5)配置参数:redis.conf文件 内容如下 : 147 save 900 1 #在900秒内,如果有1个key发生变化,执行RDB; 148 save 300 10 #在300秒内,如果有10个key发生变化,执行RDB; 149 save 60 10000 #在60秒内,如果10000个key发生变化,执行RDB; 164 stop-writes-on-bgsave-error yes #当后台写进程出错时,禁止写入新的数据; 170 rdbcompression yes #RDB是否压缩 如果看中性能 选no 压缩会节约空间,但会影响备份和恢复性能; 182 dbfilename dump.rdb #生成的文件名; 192 dir ./ #存放rdb文件的目录; 6)RDB的缺点: 在两次快照之间,如果发生断电,数据会丢失; 举例:在生成rdb后,插入新值。突然断电,数据可能会丢失; |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |