Redis进阶(五)Redis事务&持久化机制&发布/订阅

前言

      本章讲解Redis的事务、持久化机制以及发布/订阅

方法

1.概念

首先,我们需要知道,Redis作为一个非关系型数据库,它对事务的要求没有关系型数据库高,当然也就不是全部具备事务的ACID特性。

而对于Redis的持久化机制,简单的理解就是它为内存级的数据库,在保证速度的同时也要保证安全,为了防止因意外造成的宕机数据丢失,Redis会定时的向硬盘中存入数据来保证数据持久化(RDB和AOF)。

其次,它还为我们提供了发布和订阅的功能。

2.Redis事务

Redis的事务处理非常简单,只需要使用multi命令开启事务,使用exec执行事务或者使用discard取消事务即可。

3.Redis的持久化机制

1)RDB模式

该模式也是默认的模式,我们之前见到的rdb文件就是用来做数据持久化的文件。

我们可以在redis.conf文件中找到如下配置,该配置就是用来配置RDB模式的具体执行规则的。

第一句话表示900秒内如果有超过一个key被修改,则发起快照保存

其余几句话类似。

这种方式显然不适合生产环境,因为一旦在几秒内机器宕机的话,将会丢失很多的数据,造成无法估量的损失。

2)AOF模式

该模式区别于传统的RDB模式,他将用户的写操作指令保存至aof文件中,在Redis重新启动的时候执行这个文件来重建数据。

显然它是安全的,但是安全的同时就带来了效率的问题,使用它Redis的效率会下降。

如果想要采取此种模式,则需要进行如下的配置开启aof:

aof有如下三种选项,我们生产环境使用 always:

  • appendfsync always:代表收到写命令就立刻写磁盘,效率最低,但是保证了数据完全的持久化。
  • appendfsync everysec:代表每秒钟写入磁盘一次,是一个折中的办法。
  • appendfsync no:完全依赖操作系统做写入操作,十分不可靠。效率最高

配置好之后我们重启redis会发现etc目录下出现appendonly.aof

此刻代表着rdb模式已经自动的关闭了。

4.Redis的发布和订阅

 使用104和105机器订阅cctv频道:

subscribe 频道

使用103机器向cctv频道发布消息:

那么104和105机器就会收到对应的消息。 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值