面试和工作,持久化都是重点
Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会小时,所以redis提供了持久化功能!
在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存中。redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件,整个过程中,主进程是不进行任何IO操作的,这就确保了级高的性能,如果需要进行大规模数据的回复,且对于数据恢复的完整性非常敏感,那RDB方式要比AOF方式更加的有效。RDB的缺点是最后一次持久化后的数据可能丢失,我们默认的就是RDB,一把情况下不需要修改这个配置!
rdb保存的文件是dump.rdb 都是在我们的配置文件中快照中进行配置的!
[root@centos7964 kconfig]# cd ..
[root@centos7964 bin]# rm -rf dump.rdb #将dump文件删除,看达到60秒5次是否会生成
[root@centos7964 bin]# ls
kconfig redis-check-aof redis-cli redis-server
redis-benchmark redis-check-rdb redis-sentinel
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379>