Redis的持久化

来源:互联网 发布:厦门大学网络教育收费 编辑:程序博客网 时间:2024/05/16 04:59

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是默认开启的。

这里写图片描述

原创粉丝点击