redis高级特性之持久化
2015-12-16 12:45
543 查看
redis是一个内存式的数据库,数据是保存到内存中的,这也是redis数据库能够处理海量数据,速度快的一个主要的因素。但是内存中的数据加入服务器重启之后,数据库中的数据就丢失了。所以我们需要将内存中的数据保存到硬盘中,从而实现数据的持久化。在redis中有两种方式:快照的方式(snapshotting)和append only file的方式(aof)。
快照方式:快照的方式每隔一定的时间就会将数据以快照的方式存放到二进制文件中,默认的存放的文件的名字为dump.rdb。我们可以通过修改配置文件来设定多长时间有多少个key修改就可以将操作记录到文件中。配置方式如下
vim redis.conf
save 900 10 //在900秒钟如果有10个key有了修改就将操作记录到文件中去
这种方式存在明显的缺陷,因为这种存储的方式是通过时间控制的。如果redis意外宕机的话,就会丢失最后一次备份之前的数据。
aof方式比快照方式有更好的持久性,在使用aof的时候,redis会将每一个写操作都写入到文件中去,当服务器重启或者宕机的时候,下次启动的时候会默认的读取相应的文件中的写操作,从而恢复数据库中的内容。
配置aof
appendonly yes //开启aof的持久化方式
appendfsync always //只要收到写操作就将操作记录到文件中,性能不好,持久化完全保证
appendfsync everysec //每秒钟就行一次写操作的记录,在持久化和性能方面是很好的折中
appendfsync no //依靠OS,性能最好,但是持久化没有保证
一般选择的折中的办法,每一秒钟写入一次。如果对数据进行了修改,我们会生成一个appendonly.aof的文件,里面记录的是对数据库的写操作。可以用来重新建立数据库中的内容的。
持久化就是这些,希望大家能够与我多交流。。。
快照方式:快照的方式每隔一定的时间就会将数据以快照的方式存放到二进制文件中,默认的存放的文件的名字为dump.rdb。我们可以通过修改配置文件来设定多长时间有多少个key修改就可以将操作记录到文件中。配置方式如下
vim redis.conf
save 900 10 //在900秒钟如果有10个key有了修改就将操作记录到文件中去
这种方式存在明显的缺陷,因为这种存储的方式是通过时间控制的。如果redis意外宕机的话,就会丢失最后一次备份之前的数据。
aof方式比快照方式有更好的持久性,在使用aof的时候,redis会将每一个写操作都写入到文件中去,当服务器重启或者宕机的时候,下次启动的时候会默认的读取相应的文件中的写操作,从而恢复数据库中的内容。
配置aof
appendonly yes //开启aof的持久化方式
appendfsync always //只要收到写操作就将操作记录到文件中,性能不好,持久化完全保证
appendfsync everysec //每秒钟就行一次写操作的记录,在持久化和性能方面是很好的折中
appendfsync no //依靠OS,性能最好,但是持久化没有保证
一般选择的折中的办法,每一秒钟写入一次。如果对数据进行了修改,我们会生成一个appendonly.aof的文件,里面记录的是对数据库的写操作。可以用来重新建立数据库中的内容的。
持久化就是这些,希望大家能够与我多交流。。。
相关文章推荐
- Window搭建Redis与简单的入门使用
- redis高级特性之事务
- redis高级特性之主从复制
- redis 学习手册之哈希表数据类型hashes操作命令
- redis 学习手册之列表数据类型Lists操作命令
- 【原创】REDIS与MYSQL实现标签的对比
- 【原创】REDIS与MYSQL实现标签的对比
- [Python3.4]通过Redis利用BloomFilter实现数据去重
- REDIS与MYSQL实现标签的对比
- redis学习笔记整理
- redis学习 - 数据持久化
- Redis学习笔记(2) Redis基础类型及命令之一
- redis如何清除所有的key
- redis学习笔记---redis的哨兵Sentinel
- redis相关
- OS X下安装Redis及配置开机启动
- redis
- Linux下操作Redis类(基于hiredis接口)
- Redis Cluster原理
- redis 资料