Redis持久化
2016-02-01 00:00
253 查看
定时快照方式(snapshot):
该持久化方式实际是在Redis内部一个定时器事件,每隔固定时间去检查当前数据发生的改变次数与时间是否满足配置的持久化触发的条件,如果满足则通过操作系统fork调用来创建出一个子进程,这个子进程默认会与父进程共享相同的地址空间,这时就可以通过子进程来遍历整个内存来进行存储操作,而主进程则仍然可以提供服务,当有写入时由操作系统按照内存页(page)为单位来进行copy-on-write保证父子进程之间不会互相影响。该持久化的主要缺点是定时快照只是代表一段时间内的内存映像,所以系统重启会丢失上次快照与重启之间所有的数据。
基于语句追加方式(aof):
aof方式实际类似mysql的基于语句的binlog方式,即每条会使Redis内存数据发生改变的命令都会追加到一个log文件中,也就是说这个log文件就是Redis的持久化数据。aof的方式的主要缺点是追加log文件可能导致体积过大,当系统重启恢复数据时如果是aof的方式则加载数据会非常慢,几十G的数据可能需要几小 时才能加载完,当然这个耗时并不是因为磁盘文件读取速度慢,而是由于读取的所有命令都要在内存中执行一遍。另外由于每条命令都要写log,所以使用aof 的方式,Redis的读写性能也会有所下降。
相关文章推荐
- redis 数据类型(五) zset sorted sets的使用
- redis学习笔记整理
- centos6.5 安装redis-2.8.13.tar.gz
- Logstash 实践之Redis日志解析
- java项目——Redis
- Redis的常用方法总结
- Redis 源码分析(二) 一个 rehash 也不阻塞的哈希表
- redis集群
- Redis和MySQL方案
- Redis介绍
- Redis持久化
- Redis的订阅与发布
- Redis性能调优:保存SNAPSHOT对性能的影响
- php Session存储到Redis的方法
- Redis事务介绍
- redis的事务
- redis 的无序集合和hash操作
- linux下安装redis,启动,停止,设置密码
- Redis源码解析:05跳跃表
- redis Ok2