redis 面试知识点总结

本文总结了Redis的持久化机制,包括两种方式:RDB和AOF。RDB通过创建内存快照进行持久化,可能导致数据丢失,而AOF记录操作命令,保证数据丢失不超过2s。AOF提供no、always、everysec三种同步策略。Redis 4.0引入混合持久化,结合了RDB和AOF的优点。若两者同时开启,优先使用AOF。
摘要由CSDN通过智能技术生成

1 redis持久化机制

由于redis基于内存运行,如果断电关闭,内存中的数据就不再存在,数据丢失。但是redis支持关机再启动数据依然存在,这就是redis持久化。实则是在某一时刻把redis中的数据写入了磁盘中的持久化文件中。

两种持久化方式

1.1 RDB

RDB是Redis用来进行持久化的一种方式(默认开启的是RDB持久化),是把当前内存中的数据集快照写入磁盘(数据库中所有键值对数据),恢复时是将快照文件直接读到内存里。
原理是:redis创建一个与当前进程数据(变量、环境变量、计数器)完全相同的子进程实现持久化,主进程没有IO操作,保证高性能。子进程将数据写到临时文件中,持久化后,使用临时文件代替之前被持久化好的的文件。
由于redis是单线程的,无法接收来自客服端的大量set请求。fork出新的进程既保证实现持久化,又实现了为向redis发送数据的请求提供响应。
启动redis后,在redis目录下可以看到: 这个dump文件(内存数据的备份)就是rdb持久化生成的临时文件。
其中可以vim redis.congf这个配置文件,查找dir会发现 dir ./ 也就是 dump.rdb会生成到 dir后面的路径。
而且还要保证redis启动时的路径中包含dump.rdb文件,这如果存在就会加载这个dump,否则就是empty list。
同样可以在redis.conf中,查找dbfilename,修改后面的默认文件名,以使用自定义的dump.rdb文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值