redis发布订阅+事务

在 Redis 中,发布/订阅(Pub/Sub)和事务(Transactions)是两个不同的功能。发布/订阅模式允许客户端订阅一个频道,等待并接收该频道发布的消息;而事务则允许在执行多个 Redis 命令时保持原子性。

1. Redis 发布/订阅 (Pub/Sub)

Redis 发布/订阅模型是一个消息传递系统,分为发布者、订阅者和频道三个部分。发布者将消息发送到特定频道,而订阅者会接收到其订阅的频道的消息。

发布/订阅的基本操作:

  • PUBLISH channel message:发布消息到指定的频道。
  • SUBSCRIBE channel:订阅一个或多个频道,接收该频道的消息。
  • UNSUBSCRIBE channel:取消订阅指定的频道。
  • PSUBSCRIBE pattern:使用模式匹配订阅频道。
  • PUNSUBSCRIBE pattern:取消对模式的订阅。
    image

2. Redis 事务 (Transactions)

Redis 提供了事务的功能,可以将多个命令放入队列并一次性执行,确保原子性。Redis 事务的命令有 MULTI、EXEC、DISCARD 和 WATCH。

  • MULTI:标记事务的开始,后续的命令会进入事务队列。
  • EXEC:执行事务中的命令。
  • DISCARD:放弃事务中的所有命令。
  • WATCH:在事务开始前,监视某些键,如果监视的键在事务执行前被修改,事务会被打断。

事务的基本流程:

  1. MULTI:开始一个事务。
  2. 多个 Redis 命令会被加入事务队列中,但不会被立即执行。
  3. EXEC:执行所有命令,事务会被提交。
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC
posted @ 2025-04-25 16:28  蜗牛般庄  阅读(26)  评论(0)    收藏  举报
Title
页脚 HTML 代码