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

Redis的持久化

2017-09-19 15:49 218 查看
Redis的强大功能很大程序上是由于将其所有数据都存储到内存中,为了使Redis在重启后仍能保证数据不丢失,需要将数据从内存中以某种形式持久化到硬盘中

—>Redis持久化有两种方式,一种是RDB,一种的AOF,可以单独使用其中一种或将两种结合使用

RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并且存储到硬盘上,进行快照的条件在配置文件中指定,有2个参数构成,时间和改动的键的个数,当在指定时间内被更改的键的个数大于指定数值时就会进行快照

RDB是Redis的默认持久化方式

RDB快照过程如下:

Redis使用fork函数复制一份当前进程(父进程)的副本(子进程);

2.父进程继续接收并处理客户端发来的命令,而子进程开始讲内存中的数据写入到硬盘中的临时文件

3当子进程写入完所有数据后会用该临时文件替换旧的RDB文件

RDB文件是通过压缩的,可以通过配置rbcompression参数来禁用压缩

手动快照:

如果没有触发自动快照,需要对Redis执行手动快照,用save 或者bgsave命令

RDB文件的压缩

压缩和不压缩的区别

压缩:

优点:减少磁盘存储空间

缺点:消耗CPU资源

不压缩:

优点:不消耗CPU资源

缺点:占用磁盘空间少

如何选择:看需求,看服务器资源情况

Redis是默认开启的。

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