Redis基础知识4-事务与发布订阅

  • 注意: 撰写本文目的主要是为了给自己做一个备忘录,如果你学过Redis并且希望从本文中找到一些忘记的知识点,那么你可以阅读本文章。由于文章内讲解并不是很多,因此此文章并不适合小白入门使用。

1.事务

1.1事务简介

是什么:

  • 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不允许加塞

能干嘛:
一个队列中,一次性、顺序性、排他性地执行一系列命令。

怎么玩:

  • 常用命令
  • Case1:正常执行
  • Case2:放弃事务
  • Case3:全体连坐
    如果一个指令在加入事务时发生错误,则事务块中所有的指令失效。
  • Case4:冤头债主
    如果一个指令可以加入到事务中,但逻辑上是错误的,则在执行事务块中的语句时此语句会报错,但不会影响到其他的语句。
  • Case5:watch监控

1.2.Redis事务命令

Redis事务命令

使用示例:

> MULTI
> set k1 v1
> set k2 v2
> get k2
> set k3 v3

> EXEC
输出结果:
OK
OK
"v2"
OK

1.3.watch监控

  • 监视一个(或多个)key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断。
    监控
watch key

取消监控

unwatch
  • 一旦执行了exec操作,之前加的监控锁都会被取消掉。

小结:

  • 通过WATCH命令在事务执行之前监控了多个Keys,倘若在WATCH之后有任何Key的值发生了变化,EXEC命令执行的事务都将被抛弃,同时返回Nullmulti-bulk应答以通知调用者事务执行失败。

1.4.事务3阶段、3特性

3阶段
事务3阶段

3特性
事务3特性

2.发布与订阅

2.1.是什么

  • 进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
  • 订阅/发布消息图:

订阅/发布消息图

2.2.命令

命令

扫描二维码关注公众号,回复: 6507545 查看本文章

2.3.案例

案例

猜你喜欢

转载自blog.csdn.net/affluent6/article/details/92379747