ITPub博客

首页 > 数据库 > NoSQL > redis续14-持久化

redis续14-持久化

原创 NoSQL 作者:a3zi 时间:2015-02-05 10:59:21 0 删除 编辑

我们经常拿redis和memcached进行比较,他们主要区别之一就是持久化。

redis 是一个支持持久化的内存数据库,redis会把内存中的数据同步到磁盘来保证持久化;而memcached是不支持持久化的内存数据库,如果宕机了,数据就没有了……

 

redis提供持久化机制:

1,RDB持久化

在指定的时间间隔内将内存中的数据集快照写入磁盘

 

Snapshotting方式

缺省情况下,Redis会将数据集的快照dump到dump.rdb文件中。我们也可以修改Redis服务器dump快照的频率,vi  redis.conf文件:

save 900 1   #在900秒之后,如果至少有1个key发生变化,则dump内存快照

save 300 10   #在300秒之后,如果至少有10个key发生变化,则dump内存快照

save 60 10000  #在60秒之后,如果至少有10000个key发生变化,则dump内存快照

 

Dump快照方式

Redis先fork子进程,子进程将快照数据写入到临时RDB文件中,当子进程完成数据写入操作后,再用临时文件替换老的文件。

 

 

2,AOF持久化

以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

 

Redis服务器缺省是RDB,如果要用AOF,vi redis.conf:

将appendonly no改为yes ,然后重启redis使之生效

AOF同步方式有3种:

appendfsync always    #每次有数据修改发生时都会写入AOF文件。

appendfsync everysec   #每秒钟同步一次,该策略为AOF的缺省策略。

appendfsync no     #从不同步。高效但是数据不会被持久化。

 

3,同时启用RDB和AOF

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29806344/viewspace-1427100/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: redis续13-乐观锁
请登录后发表评论 登录
全部评论

注册时间:2014-08-15

  • 博文量
    45
  • 访问量
    228904