缺点:
每次保存都要fork一个子进程,如果数据量大小,会有延时
恢复数据的时间短
优点:
备份方便
打开RDB功能:
vim /etc/redis326/6379.conf
vim 6379.conf
#以下三条是或的关系
204 save 900 1 #在900秒内有1个key发生变化,就做一次快照
205 save 300 10 #或者在300秒内有10个key发生变化,就做一次快照
206 save 6010000 #或者在60秒内有10000个key发生变化,就做一次快照
快照:
先fork当前进程的一个副本( 一个子进程),再在后台进行快照的操作
禁用快照
如果在禁用快照,在配置文件中将以下的配置删除就可以了
save 900 1
save 300 10
save 60 10000
快照名称:
238 # Thefilename where to dump the DB
239 dbfilenamedump_6379.rdb
240
241 # Theworking directory.
快照保存的位置:
248 # Note that you must specify a directory here, not afile name.
dir /usr/local/redis326 #快照保存的位置
250
保存后重启服务:
[root@node120 bin]# ./redis-cli -h 192.168.2.120 -p 6379
192.168.2.120:6379> set key 1
OK
192.168.2.120:6379> SAVE #立即保存,会阻塞进程
OK
192.168.2.120:6379> BGSAVE #在后台保存,对现在应用没有影响
Background saving started
查看文件保存的目录
[root@node120 redis326]# pwd
/usr/local/redis326
[root@node120 redis326]# ls
bin dump_6379.rdb #这个文件是二进制文件,文件比较小
redis的自动保存功能:
[root@node120 bin]# pkill redis
[root@node120 bin]# ps -ef | grep redis
root 7099 6687 014:40 pts/1 00:00:00 grep --color=autoredis
[root@node120 bin]# service redis start
Starting Redis server...
[root@node120 bin]# ps -ef | grep redis
root 7109 1 014:40 ? 00:00:00/usr/local/redis326/bin/redis-server 192.168.2.120:6379
root 7113 6687 014:40 pts/1 00:00:00 grep --color=autoredis
[root@node120 bin]# ./redis-cli -h 192.168.2.120 -p 6379
192.168.2.120:6379> keys * #已经保存在磁盘上,没有丢失
1) "key2"
2) "key"
3) "key3"