浅谈Redis持久化

        大家都知道Redis增删改查的操作比MYSQL增删改查操作要快。原因是MYSQL的增删改操作是在硬盘上直接操作,而Redis的增删改是在内存中直接操作的。Redis采用持久化的方式将内存中的数据保存到磁盘。

        Redis的持久化的方式有两种,其中一种是RDB机制,另一种AOF机制

        RDB机制采用的是快照模式,也是Redis默认的持久化机制(会在src目录下生成dump.rdb文件),重启Redis时会把dump.rdb的文件读取到内存中。

      那么什么情况会执行快照模式?

        1.服务器正常关闭会发生快照。

        2.当key满足一定条件的情况下会发生快照。我用vi编译器打开Redis的配置文件redis.config中有如下配置段

在这里小编讲给大家解释一下配置文件这3行指令的含义:

             save 900 1表示在900s内被更改键的个数大于1时就照一次快照保存(添加,修改或删除)

            save 300 10表示在300s内被更改键的个数大于10时就照一次快照保存

            save 60 10000表示在60s内被更改键的个数大于10000时就照一次快照保存

            上面所说的3个条件只要发生其中之一就会快照保存。

         3.当用户使用save指令或者bgsave指令会发上快照

            执行save命令时redis的同步,(会阻塞redis进程,阻塞期间,服务器无法响应其他的处理,直到执行完成为止)此过程会阻碍来自客户端的所有请求。

            执行Bgsave是异步的,进行快照的同时还能处理来自客户端的请求。(执行此命令的时候,redis会fork出一个子进程去完成备份持久化,而不会影响redis处理其他的请求)(执行Bgsave redis返回OK表示开始快照lastsave返回最近一次快照时间)。

 优点:

         保存数据块,还原数据也快。

         dump.rdb用于做redis的备份文件,数据量小,只需要dump.rdb文件就可以还原数据库。

  缺点:

          当redis断电时可能会造成部分数据丢失。

            在一般情况下,每次保存 RDB 的时候,Redis 都要 fork() 出一个子进程,并由子进程来进行实际的持久化工作。 在数据集比较庞大时, fork()可能会非常耗时,造成服务器在某某毫秒内停止处理客户端; 如果数据集非常巨大,并且 CPU 时间非常紧张的话,那么这种停止时间甚至可能会长达整整一秒。

        AOF机制使用日志功能来保存数据操作, 只保存导致key变化的语句。因为AOF机制不是默认的机制,因此我们要在Redis的配置文件redis.config中将no改为yes,启动aof机制。


   aof保存的数据会保存在appendonly.aof文件 中,当然我们也可以修改文件的名字。 

在配置文件中可以对名字进行修改(红色部分为生成文件的名字)

       AOF执行持久化的方式分为3种,它们分别为:

        每秒同步 (默认):每秒进行一次AOF保存数据。 安全性低,但是节省系统资源。

        每修改同步:只要有key变化就进行一次AOF保存数据。比较安全,但浪费效率低。

        不同步 :不进行任何持久化操作 。

        在redis.config配置文件中


            其中的always代表着每修改同步,everysec代表着美秒同步,no代表着不同步。

  优点:

          极少量的占用内存。(跟适合于内存比较小的计算机)

   缺点:

         同样的数据量AOF的 日志文件会很大。

        根据所使用的 fsync 策略,AOF 的速度可能会慢于 RDB 。 在一般情况下, 每秒 fsync 的性能依然非常高, 而关闭 fsync 可以让 AOF 的速度和 RDB 一样快, 即使在高负荷之下也是如此。 不过在处理巨大的写入载入时,RDB 可以提供更有保证的最大延迟时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容