十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
持久化原理:
成都创新互联公司是专业的云南网站建设公司,云南接单;提供网站设计、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行云南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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 #后台进行存储