温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

RDB数据持久化(理论)

发布时间:2020-08-04 19:07:34 来源:网络 阅读:406 作者:张德帅ya 栏目:数据库

持久化原理:

        RDB是snapshot快照<二进制文件>存储,是默认的持久化方式。

        RDB会按照一定的策略,周期性的将数据保存到磁盘。(下个周期为到来时故障,会丢数据)

        借助fork命令的copy on write机制,在快照生成时,将当前进程fork出一个子进程,

        然后再子进程中循环所有数据,将数据写成RDB文件。

          

优点:使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能。

缺点:RDB是按照周期性策略进行持久化,

             如果持久化之间redis发生故障,会发生数据丢失,

             所以这种方式适合数据要求不严谨的环境。

    

配置文件相关参数:

       dbfilename dump.rdb            #指定持久化数据文件名

       dir /usr/local/redis-3.0.6-6379/    #默认dir ./

       save 900 1

       save 300 10

       save 60 10000 

       

持久化过程:

       当满足save的条件时,比如更改了1个key,900s后会将数据写入临时文件,

       持久化完成后将临时文件替换旧的dump.rdb。

                      

使用RDB恢复数据:(需要时间)

       重启redis的server即可完成(启动redis的server时会从dump.rdb中先同步数据) 

                              

使用命令进行持久化save存储:

       ./redis-cli -h ip -p port save         #前台进行存储

       ./redis-cli -h ip -p port bgsave      #后台进行存储


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI