Redis持久化策略(防止数据丢失)

首先,redis在内存中运行,如果redis服务器突然关闭,那么内存数据就会丢失。如何解决?????

解决方案: 可以定期将内存数据持久化到磁盘中.
持久化策略规则:
当redis正常运行时,定期的将数据保存到磁盘中,当redis服务器重启时,则根据配置文件中指定的持久化的方式,实现数据的恢复.(读取数据,之后恢复数据.)

redis提供了两种模式持久化数据,下面来谈谈
1.redis的RDB模式:
1.1这是redis默认的持久化模式。即在指定的时间间隔内将数据以快照的形式写入磁盘。优点:持久化的效率高,快照只保留最新数据记录;弊端:会导致数据丢失(在时间间隔中的数据没有进行持久化)
1.2RDB命令及配置
手动持久化:
bgsave和save是主动执行的命令,执行后会手动将数据写入到磁盘中;
默认的持久化机制:
save 900 1 如果在900秒内,执行了1次更新操作,则持久化一次
save 300 10 如果在300秒内,执行了10次更新操作,则持久化一次
save 60 10000 如果在60秒内,执行了10000次更新操作,则持久化一次
2.redis的AOF模式
此模式默认关闭,使用需要手动打开
这是实时记录客户的操作记录,以文件形式储存,不会丢失数据,但需要定期维护持久化文件。

总结
1.如果可以接受少量数据丢失 则可以使用RDB模式
2.当内存数据不允许丢失时,可用AOF模式
3.显示中可用RDB+AOF的模式,保证数据的有效性

问:在redis中用了liushALL命令,如何恢复数据??(已经开启RDB和AOF模式)