zoukankan      html  css  js  c++  java
  • redis的持久化机制和数据同步

    本文参考 http://blog.csdn.net/qq_28602957/article/details/52732615

    Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。

    redis支持两种持久化的方式:1、snapshotting(快照)也是默认方式  2、Append-only file(缩写是aof)的方式

    snapshotting(快照)也是默认方式 

    刚装完redis的时候没有dump.rdb文件,满足快照要求后,系统会自动生成dump.rdb文件,且文件类型为二进制文件。

     

    Append-only file(缩写是aof)的方式

    由于快照方式是在一定的时间间隔做一次,所以redis宕机的话会丢失最后一次快照以后修改的内容,aof有更好的持久化性,使用aof时,redis会将每一个收到的写命令都通过write函数追加到文件中,当redis重启时,会通过重新执行文件中保存的写命令在内存中重建整个数据库的内容。

    但是由于操作系统(OS)会在内核中缓存write做的修改,所以可能不是立即写到磁盘上的。这样aof方式的持久化还是有可能会丢失部分修改。

    可以通过配置文件告诉redis我们想通过fsync函数强制OS写入到磁盘的时机。

    配置文件为redis.conf

    将no改为yes,满足aof方式后,系统会自动生成一个appendonly.aof文件,且非二进制,用cat查看,里面保存的是刚新加的命令。

  • 相关阅读:
    python 模块特点
    python 对象类型有哪些?
    python 异常处理
    python urllib2查询数据
    哈希表之词频统计
    泛型 队列
    大小端存储
    收藏 去掉 html 标签的perl 小函数
    好玩 多线程 显示
    服务器客户端 之 文件下载
  • 原文地址:https://www.cnblogs.com/qducn/p/6897564.html
Copyright © 2011-2022 走看看