Redis入门到精通-持久化机制
2017-10-22 14:23
651 查看
3.2 持久化机制
Redis是支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。redis持久化有两种方式
3.2.1 snapshotting 快照(rdb)
默认方式,将内存中以快照的方式写入到二进制文件中,默认为dump.rdb,可以通过配置设置自动做快照持久化的方式。我们可以配置redis在n秒内如果m个key修改,就自动做快照。 snapshotting 设置:redis.conf(本文中的6379.conf)
save 900 1 #900秒内,超过1个key被修改,则发起快照保存
save 300 10 #300秒内,超过10个key被修改,则发起快照保存
save 60 10000 #60秒内,超过10000个key被修改,则发起快照保存
3.2.2 append-only file(aof)
类似于mysql日志,由于快照方式是在一定时间间隔做一次,所以可能发生redis意外宕机的情况就会丢失最后一次快照后的所有被修改的数据,aof比快照方式有更好的持久化型,是由于redis在使用aof是,redis会将每一个收到的写命令都通过write函数追加到命令中,在redis重新启动时会重新执行文件中保存的写命令在内存中重建这个数据库的内容,这个文件在redis3.2/bin目录下,appendonly.aof。aof不是立即写到硬盘上,可以通过配置文件修改强制写到硬盘中。 aof设置:redis.conf(本文中的6379.conf)
appendonly yes //启动aof持久化 ,持久化有三种方式:
#appendfsync always //收到写命令就立即写入到磁盘,效率最慢,但是保证完整的持久化(最常用)
#appendfsync everysec //每秒写一次硬盘,在性能和持久化方面做了很好的这种
#appendfsync no //完全依赖os,性能最好,持久化没保证。
修改6379.conf appendonly yes 重启redis 发现conf/目录下多了一个appendonly.aof [root@localhost conf]# ll 总用量 52 -rw-r--r-- 1 root root 41421 10月 21 11:40 6379.conf -rw-r--r-- 1 root root 86 10月 21 11:42 appendonly.aof -rw-r--r-- 1 root root 41 10月 21 11:41 dump.rdb 执行set操作观察appendonly.aof的内容。
提示:开启aof后之前的rdb模式就时效了,且之前的数据会被清空。
相关文章推荐
- Redis入门到精通-Redis持久化机制
- Redis入门到精通7-Redis主从辅助、哨兵机制、持久化机制
- Redis入门之浅谈rdb持久化机制
- Redis入门之浅谈aof持久化机制
- Redis的持久化机制
- redis的两种持久化机制
- Redis的持久化机制
- Redis的持久化机制RDB与AOF
- 【Redis缓存机制】9.快照持久化和AOF持久化
- storm从入门到精通 第三节 storm消息机制
- Redis两种存储机制(持久化)的比较
- Redis两种存储机制(持久化)的比较
- Redis提供的持久化机制
- Redis入门到精通-Redis简单事务
- Redis入门到精通-Redis集群搭建
- NoSQL之Redis高级命令详解--持久化机制
- redis 持久化机制AOF/RDB详解
- redis的持久化和缓存机制
- Android中数据共享机制的实现——ContentProvider的应用从入门到精通
- 如何理解Redis的'持久化'机制?