您的位置:首页 > 数据库 > Redis

redis中数据持久化问题

2018-07-27 00:57 429 查看

        redis中内部提供了良好的持久化的策略,保证内存中的数据不丢失,这样redis服务器重启后,依然可以获取其中的数据。分别采用了2中形式进行数据持久化操作:RDB模式和AOF模式。大量数据的持久化必然涉及到内存的整理,在另一篇文章中有介绍https://blog.csdn.net/sunroyfcb/article/details/81212588

        RDB模式是redis中默认的持久化策略,它是是定期持久化,可能会导致数据的丢失。如果允许数据有少量的丢失可以使用RDB模式.因为其效率高。

        持久化命令:1.主动持久化save,执行save命令,会将全部的进程先挂起,直到save命令执行完成后,后续的进程才能执行,也就是会造成线程阻塞;2.后台持久化bgsave,不会马上数据备份,不会造成线程阻塞。

        在redis.conf文件中的持久化配置:

        持久化文件的配置:

        持久化文件夹的配置,保存配置文件:

        采用AOF持久化的配置后,可以实现实时数据备份,如果对数据的安全性要求较高,则使用AOF模式,但是AOF的模式性能较低。

        开启AOF配置开关,将no改为yes即可,下面是对应持久化文件:

        定义持久化策略,默认每秒备份一次,性能较RDB略低,若采用always模式,则实时备份,效率最低:

        定义文件的位置:

        总结:在redis中启动时,先扫描持久化文件,将数据恢复到内存中。之后根据持久化的规则,再次进行持久化。默认的条件下采用RDB模式进行数据备份,效率是最高的。如果开启了AOF模式则使用AOF持久化方式,这时RDB模式将不生效。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: