Redis里的【RDB】是什么?

目录

一、RDB是什么?

二、什么是数据的持久化保存?

三、为什么要用RDB?

四、AOF是什么?

五、RDB怎么用?

六、AOF怎么用

七、优缺点


学无止境~


一、RDB是什么?

一句话概括:RDB是Redis里实现数据持久化其中一种方式,另外一种是AOF。

RDB,乍一看起来很抽象,这啥呀?不过,如果你看了的它的全称,相信你就不会懵圈了。

R(edis)D(atabase)B(ackup file)。

注:Backup file是指备份文件。

所以连起来,RDB就是,将Redis数据库数据备份到文件中的方式。又称快照。

更通俗的话来理解,它是通过,从Redis服务器的内存中读取数据,并直接以二进制文件写入硬盘中,来实现数据的持久化保存。

二、什么是数据的持久化保存?

长久保存数据。即使设备关机了(断电),数据也还在。就这么简单。

想想看,如果把【正则表达式】名字改为【规则表达式】,并解释清楚,其用途是筛选出符合该规则的数据,是不是也会有更多的人理解【正则表达式】。

三、为什么要用RDB?

当然为了长久保存数据。

因为Redis数据库是基于内存的,内存虽然处理速度快,但设备一旦断电,就可能会出现数据丢失情况。

想想你用word写工作汇报,没点保存,直接关机,再重启电脑时,啥也没了,整个人都傻了。这就是内存丢失数据带来的不便。

为了解决这个尴尬的问题,我们需要将Redis的数据写入电脑的磁盘(又称硬盘),以便长久保存,也就是数据的持久化。

而Redis里实现数据持久化有2种方式:一种是RDB,一种是AOF。

四、AOF是什么?

同样,我们把AOF的全称写出来,基本就不会懵圈了。

Append-Only File 直译是(追加写文件),又称日志文件。

它的具体作用是:每当有写操作发生时,比如Set(设置)或者INCR(递增),Redis会把操作记到小本本上,也就是追加到Append-Only 文件的末尾。

当设备断电并重启后,Redis会根据小本本上的记录,恢复数据。

五、RDB怎么用?

以下演示在虚拟机上操作。

首先,启动Redis。进到src目录,通过下方命令来启动Redis。

./redis-server ../redis.conf
Redis里的【RDB】是什么?_第1张图片 Redis启动成功

当你看到这个界面 说明Redis启动成功。

其次,再开一个窗口,启动Redis客户端。进到redis的src目录。通过命令启动Redis客户端.

 ./redi-cli
[root@localhost src]# ./redis-cli
127.0.0.1:6379> set name tom
OK

 修改数据,比如 set 一个 name,然后手动快照,使用下方命令。

127.0.0.1:6379> bgsave

这样,你就可以在redis / src / dump.rdb 看到更新后的rdb文件了。

Redis里的【RDB】是什么?_第2张图片

对了,快照除了可以通过【bgsave】和【save】命令手动触发,还可以在配置文件中设置自动执行的频率。

以下是在 redis.conf 配置文件中设置自动执行的频率。

Redis里的【RDB】是什么?_第3张图片

这行的意思是:RDB保存间隔设置 900秒内 有1处修改 就保存。

六、AOF怎么用

AOF默认关闭,怎么开启?

进入到redis.conf文件。

Redis里的【RDB】是什么?_第4张图片 将1252行 appendonly 改为yes

 

Redis里的【RDB】是什么?_第5张图片 append-only 位置

AOF长什么样呢?

Redis里的【RDB】是什么?_第6张图片

七、RDB和AOF的优缺点

RDB和AOF的优缺点
RDB AOF
优点 速度快 更完整
缺点 最后一次执行后,断电,可能会丢失数据 文件较大 占资源

如果觉得有用,欢迎点赞收藏,持续更新!


 

你可能感兴趣的:(redis,数据库,缓存)