php使用redis持久化,redis如何持久化
由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁 盘上,当redis重启后,可以从磁盘中恢复数据。
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时 dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。
RDB:RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 (推荐学习:Redis视频教程)
触发机制
手动触发分别对应save和bgsave命令
save命令:阻塞当前Redis服务器,知道RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上不建议使用。DB saved on disk
bgseve命令:Redis进程执行fork操作创建子进程,RDB持久化过程有子进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短。* Background saving started by pid 3151
* DB saved on disk
* RDB: 0 MB of memory used by copy-on-write
* Background saving terminated with success
自动触发
以下场景下会触发
1)使用save相关配置,如“save m n”。表示m秒内数据集存在n次修改时,自动触发bgsave。
2)如果从节点执行全量复制操作,主节点自动执行bgsave生成RDB文件并发送给从节点。
3)执行debug reload命令重新加载Redis时,也会自动触发save操作。
4)默认情况下执行shutdown命令时,如果没有开启AOF持久化功能则自动执行bgsave。
AOF:以独立日志的方式记录每次写命令,重启时在重新执行AOF文件中的命令达到恢复数据的目的。主要作用:解决了数据持久化的实时性。
使用AOF
开启AOF功能需要设置配置:appendonly yes,默认不开启。文件名通过appendfilename配置设置,默认appendonly.aof。
1)所有的写入命令会追加到aof_buf(缓冲区)中。
2)AOF缓冲区根据对应的策略向硬盘做同步操作。
3)随着AOF文件越来越大,需要定期对AOF文件进行重写,达到压缩的目的。
4)当Redis服务器重启时,可以加载AOF文件进行数据恢复。
更多Redis相关技术文章,请访问Redis入门教程栏目进行学习!
php使用redis持久化,redis如何持久化相关推荐
- redis 数据结构 内存管理 持久化
为什么80%的码农都做不了架构师?>>> Redis 内存数据结构与编码 OBJECT encoding key.DEBUG OBJECT key 简单动态字符串(simple ...
- 【带你重拾Redis】Redis持久化
Redis持久化 Redis有2种持久化策略: RDB和AOF. RDB(Redis Data Base) RDB是Redis默认的持久化策略,这种策略是把数据库的快照以二进制形式的副本保存在磁盘上. ...
- 【redis】redis持久化
一.简介 Redis 的数据 全部存储 在 内存 中,如果 突然宕机,数据就会全部丢失,因此必须有一套机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的 持久化机制,它会将 ...
- redis的两种持久化方式详解
一.背景 在实际开发中,为了保证数据的完整性,防止数据丢失,我们除了在原有的传统数据库保存数据的同时,最好是再用redis持久化再保存一次数据.如果仅仅是使用redis而不进行持久化配置的话,当red ...
- redis php 持久化,详解Redis RDB持久化、AOF持久化,
详解Redis RDB持久化.AOF持久化, 1.持久化 1.1 持久化简介 持久化(Persistence),持久化是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永 ...
- Redis进阶-Redis持久化原理
文章目录 Pre 快照原理 fork( 多进程) AOF 原理 AOF 重写 fsync 运维 Redis 4.0 混合持久化 Pre Redis-16Redis备份(持久化) Redis 的数据全部 ...
- php使用redis持久化,Redis持久化完整版本
持久化的简介 RDB AOF RDB与AOF的区别 持久化应用场景 对于持久化这个功能点,其实很简单没有那么复杂 演示环境 centos7.0 redis4.0 redis存放目录:/usr/loca ...
- Redis的两种持久化机制RDB和AOF
目录 RDB 原理 触发时机 AOF 原理 开启AOF aof日志文件说明 触发时机 aof的重写机制 redis4.0的混合持久化机制 总结 rdb持久化文件的名称:dump.rdb.存储在配置文件 ...
- redis多服务器共享_【数据库】Redis(二)持久化及事务
Redis的数据持久化 Redis是基于内存对数据操作的数据库,计算机重启后,内存中的数据就会丢失,所以redis提供了持久化的功能,可以将redis操作的内存中数据持久化到本地的硬盘中.在redis ...
- Redis数据持久化之AOF持久化
一.RDB持久化的缺点 创建RDB文件需要将服务器所有的数据库的数据都保存起来,这是一个非常耗费资源和时间的操作,所以服务器需要隔一段时间才能创建一个新的RDB文件,就也是说创建RDB文件的操作不能执 ...
最新文章
- GFStableList Adapter
- springboot 开发入门,及问题汇总
- 相关疑惑解决,java线程虚假唤醒等等问题
- 构建创业公司突击小团队
- 解读阿里巴巴集团的“大中台、小前台”组织战略
- 输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)
- 滴滴业务中台构建实践,首次曝光
- Android Studio User Manual
- python 爬取图片网站图片链接并下载收集
- 在OpenFOAM中标记某些区域自适应加密
- java成员变量默认是_在Java语言中,String类型的成员变量的默认初始值是( )
- Python 获取网站证书有效期
- 微信小程序手机号-springboot
- 计算机等级考试四级网络工程师必备考点总结
- 逆序对 矩阵 好事成双 金牌银牌铜牌 发工资
- 2018上半年软件设计师上午试题参考答案
- C语言中typedef的用法
- Maxcompute 小记1
- 如何在OS X照片中禁用iCloud照片同步
- 买一台 iPhone X,还是创建一家未来的独角兽?