作者:透支的灬漂移_255 | 来源:互联网 | 2023-09-23 18:35
慕课网视频地址:http:www.imooc.comvideo14935Redis的高性能是因为它所有的数据都存储在了内存中,为了保证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下
每900s(15分钟)至少有1个Key发生变化,它会持久化一次
每300s(5分钟)至少有10个key发生变化
每60s(1分钟)有1W个key发生变化
这个是备份的数据文件名 dump.rdb
保存的路径当前目录 ./
2:单独使用AOF
优势:能够带来更高的数据安全性
(三种策略:1.每秒同步-异步完成一旦1S内宕机,则这1S内的操作无法保存;
2.每修改同步,视为同步持久化,效率最低,但是最安全;
3:不同步)
对日志操作写入使用的是追加模式,所以说写入的时候既是宕机,也不会影响之前的数据
如果日志过大,redis自动启动重写机制
劣势:文件大。运行效率低
配置:还是打开redis.conf
redis默认不启动AOF方式,如果想使用AOF则将no改成yes
启动之后就会产生appendonly.aof的文件
这个地方是同步策略的设置
# appendfsync always 每次修改同步
appendfsync everysec 每秒同步
# appendfsync no 不同步
#表示注释,未启动
修改配置文件重启下redis
3:不持久化,通过配置禁用持久化
4:同时使用RDB和AOF