1、说明:Redis数据库是以key/value结构存储的。支持的数据类型很丰富。有字符串,链表,集 合和有序集合
Redis数据是存在内存中的。不定期的异步读取硬盘或mysql数据库、如果redis重启。数据就会丢失。但是redis自身提供了持久化机制、来解决这个数据安全问题。
2、Redis持久化分为:aof持久化机制、rdb持久化机制
3、AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
编辑 redis.***.conf
appendonly no 用来控制是否采用AOF持久化机制的。
yes的话,表示采用AOF持久化机制
appendfilename "appendonly.aof" AOF持久化机制保存数据的文件
AOF的持久化机制
# appendfsync always 总是进行持久化,没当key发生变化,久进行持久化
appendfsync everysec 每秒进行持久化
# appendfsync no 从不进行持久化。
缺点:IO较多
优点:数据更安全
4、RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
redis默认情况下是rdb的持久化机制。
编辑 redis.***.conf
rdb默认持久化机制如下:
save 900 1 15分钟内只要有1条数据发生变化,那么久进行持久化
save 300 10 5分钟内有10条数据发生变化,那么久进行持久化
save 60 10000 1分钟内有10000条数据发生比那话,那么才进行持久化。
dbfilename dump.rdb 指定了RDB持久化机制保存数据的文件
缺点:会丢失数据
优点:性能好一点。
总结:使用redis那种持久化要看业务需求。不同需求使用不用的持久化。