所有的数据都存在内存中,从内存当中同步到硬盘上,这个过程叫做持久化过程。
持久化操作,两种方式:rdb方式、aof方式,可以单独使用或者结合使用。
使用方法:
rdb持久化方法:在指定的时间间隔写入硬盘
aof方式:将以日志,记录每一个操作,服务器启动后就构建数据库。
配置可以禁用 持久化功能。
也可以同时使用两种方式。
RDB方式 Redis是默认支持的
优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件)
劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的。也就是积攒的数据比较多,一旦懵逼,就彻底懵逼了
配置redis-conf:
打开redis的配置文件,找到下图的地方
这里save 900 1 表示 每900秒内至少有1个kery发生变化,就持久化
save 300 10表示 每300秒内至少有10个key发生变化,就持久化
save 60 10000表示 每60秒内至少有10000个key发生变化,就持久化
再往下找到
这里有个dbfilename配置 是 保存的持久化的文件名 默认是dump.rdb
再往下:
dir ./ 表示文件存储路径是当前路径;
我们退出,找到redis配置文件的目录,查看
在redis.conf文件这里还有一个dump.rdb文件
RDB备份和恢复数据
假如遇到断电或者宕机或者自然灾害, 我们需要恢复数据 我们模拟下。
首先查看redis中的数据,然后关闭redis并保存数据退出
然后把redis的持久化rdb文件剪切到其它文件夹去,在重新启动下redis
查看redis中的数据是空的,关闭redis并保存数据退出
然后我们再把rdb文件剪切回跟redis-conf同一目录中,重新启动redis查看redis的数据
发现数据又回来了
这就是备份、恢复的过程
绕了一大圈 总结下
平时我们可以定期把rdb文件备份到指定地方 需要恢复的时候 直接把rdb搞到redis下即可;