Redis学习笔记5:Redis的持久化操作

作者: 云中布衣   分类:  学习笔记    热度: (351℃)   时间: 2017-7-23 15:30   标签: #Redis学习笔记    

在笔记1种,提到Redis数据库作为一种非关系型的内存数据库,其执行的高效率被广泛的认可,那么与同样作为内存数据库Memcache有什么不同呢?答案就是Redis支持持久化内存中的数据。Redis的持久化有两种方式:

选区_106.png

第一种:snapshotting(快照)默认方式

该方式将内存中以快照的方式写入到二进制文件中,默认为dump.rdb,可以通过配置redis.conf设置自动做快照的持久化操作。我们可以配置redis在n秒内如果超过m个key就自动做快照。

snapshotting配置:

save 900 1 说明:900s内如果超过1个key被修改,则发起快照保存。

save 300 10 说明:300s内如果超过10个key被修改,则发起快照保存。

save 60 1000 说明:60s内如果超过1000个key被修改,则发起快照保存。

这种方式一般在生产环境中我们并不常用。一般只在测试阶段进行这种设置。

第二种:append-only file(aof)

aof方式有点类似于oracle的日志,由于快照方式是在一定时间间隔内做一次,所以可能发生redis意外down的情况就会丢失最后一次修改操作的所有数据,aof比快照方式有更好的持久化性。是由于在使用aof时,redis会将收到的每一个写命令都通过write函数追加到命令中。当redis重新启动时会重新执行redis中执行的写命令来在内存中重建这个数据库的内容。这个文件在bin目录下。appendonly.aof,aof不是立即写入到硬盘中。可以通过配置文件修改强制写入到硬盘中。

aof配置:

appendonly yes 启动aof持久化方式。

appendfsync always   说明:收到写命令就立即写入磁盘中,效率最慢,但是保证完全持久化。(常用)

appendfsync everysec 说明:每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中。

appendsync  no 说明:完全依赖os,性能最好,持久化没保证

(完)

56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 8.34ms RSS  | MORE  |   | TOP

文章数量【252】 评论数量【206】 稳定运行【1150天】

Visitor IP Address【54.80.96.153】

Email:ieeflsyu#outlook.com