redis:持久化 RDB

一.持久化

利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。 

redis持久化:

 将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据(RDB)

 将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程(AOF)

二.RDB---save指令

手动执行一次保存操作 

save

save指令相关配置  

注意:save指令的执行会阻塞当前Redis服务器,直到当前RDB过程完成为止,有可能会造成长时间阻塞,线上环境不建议使用

1) dbfilename dump.rdb

  说明:设置本地数据库文件名,默认值为 dump.rdb

       经验:通常设置为dump-端口号.rdb 

2) dir

      说明:设置存储.rdb文件的路径

      经验:通常设置成存储空间较大的目录中,目录名称data

3 )rdbcompression yes

     说明:设置存储至本地数据库时是否压缩数据,默认为 yes,采用 LZF 压缩

     经验:通常默认为开启状态,如果设置为no,可以节省 CPU 运行时间,但会使存储的文件变大(巨大)

4) rdbchecksum yes

    说明:设置是否进行RDB文件格式校验,该校验过程在写文件和读文件过程均进行

    经验:通常默认为开启状态,如果设置为no,可以节约读写性过程约10%时间消耗,但是存储一定的数据损坏风险 

三.RDB--bgsave指令

手动启动后台保存操作,但不是立即执行 

bgsave

注意: bgsave命令是针对save阻塞问题做的优化。Redis内部所有涉及到RDB操作都采用bgsave的方式,save命令可以放弃使用 

bgsave指令相关配置:

1) dbfilename dump.rdb 

2) dir 

3) rdbcompression yes 

4) rdbchecksum yes 

5) stop-writes-on-bgsave-error yes 

    说明:后台存储过程中如果出现错误现象,是否停止保存操作 经验:通常默认为开启状态

四.RDB--save配置

配置文件中配置:满足限定时间范围内key的变化数量达到指定数量即进行持久化 

 save second changes

second:监控时间范围

changes:监控key的变化量  

五.RDB--特殊启动形式

1) 全量复制(主从复制)

2) 服务器运行过程中重启  

debug reload

3) 关闭服务器时指定保存数据 

shutdown save

 默认情况下执行shutdown命令时,自动执行 bgsave(如果没有开启AOF持久化功能) 

猜你喜欢

转载自www.cnblogs.com/wwjj4811/p/12736311.html