Redis学习-5:Redis的持久化(结束)

慕课网视频地址:http://www.imooc.com/video/14935

Redis的高性能是因为它所有的数据都存储在了内存中,为了保证Redis在重启后数据依然存在我们需要对内存中的数据进行持久化操作(持久化就是将内存的数据同步到硬盘中)。

Redis的两种持久化方式

1:RDB:在制定的时间间隔内将内存中的数据集快照写入到磁盘。

2:AOF:以日志的形式记录服务器所处理的每一个操作,在redis服务启动之初读取这个文件,之后去构建我们的数据库,保证启动后数据是完整的

持久化的使用方式:

1:单独使用RDB持久化(默认支持,不需要配置)

优势:采用这种方式,redis的数据库就只包含一个文件,对于文件备份非常完美

  可以将备份好的快照考走

  性能最大化,启动效率更高

缺点:如果享保证数据的高可用性,RDB将不是个好的选择(30S向硬盘写一次,但是服务器25S就宕机了)

RDB是通过子进程备份数据的,如果数据集较大的时候,可能会导致服务器停止几百毫秒

RDB的配置:

redis下的redis.conf下

blob.png

每900s(15分钟)至少有1个Key发生变化,它会持久化一次

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

每60s(1分钟)有1W个key发生变化


blob.png

这个是备份的数据文件名 dump.rdb

保存的路径当前目录 ./


blob.png

blob.png

2:单独使用AOF

优势:能够带来更高的数据安全性

(三种策略:1.每秒同步-异步完成一旦1S内宕机,则这1S内的操作无法保存;

2.每修改同步,视为同步持久化,效率最低,但是最安全;

3:不同步)

对日志操作写入使用的是追加模式,所以说写入的时候既是宕机,也不会影响之前的数据

如果日志过大,redis自动启动重写机制

劣势:文件大。运行效率低

配置:还是打开redis.conf


blob.png

redis默认不启动AOF方式,如果想使用AOF则将no改成yes

启动之后就会产生appendonly.aof的文件


blob.png

这个地方是同步策略的设置

# appendfsync always  每次修改同步

appendfsync everysec 每秒同步

# appendfsync no  不同步

#表示注释,未启动

修改配置文件重启下redis

3:不持久化,通过配置禁用持久化

4:同时使用RDB和AOF

猜你喜欢

转载自blog.csdn.net/qq_22570497/article/details/78521383
今日推荐