Redis的持久化

redis的高性能是由于将其所以数据都存储在内存中,为了使redis在重启之后扔能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。

redis支持两种方式的持久化,一种是RDB方法,一种是AOF方法。可以单独使用其实一种或者二者结合使用。

1.RDB持久化(默认支持,无需配置)

该机制是指在指定的时间间隔内将内存中的数据快照写入硬盘。

优点:相比AOF机制,如果数据集很大,RDB的启动效率会更高,性能会好一些。

缺点:因为RDB是每隔一段时间才创建快照存储磁盘的,这段时间内如果发生问题,比如服务器蹦了等,那么这段时间内的数据没有存储磁盘而丢失。

在redis.conf配置文件可以设置创建快照存储磁盘的时间:

save 900 1   每900秒(15分钟)至少有1个key发生变化

save 300 10   每300秒(5分钟)至少有10个key发生变化

save 60 10000   每60秒(1分钟)至少有10000个key发生变化



2.AOF持久化

该机制将已操作日志的方式,记录服务器所处理的每一个操作,在redis服务器启动时,读取日志文件来重新构建数据库,以保证数据库中的数据是完整的。

优点:该机制可以带来更高的数据安全性,其策略中,有每秒同步,每修改key就同步两种方式。

缺点:AOF文件通常要大于RDB文件,运行效率往往也会慢于RDB.

always  每次数据修改都会写入AOF文件

everysec 每秒写入一次

no 从不同步写入

在redis.conf配置文件可以设置:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章