美文网首页
redis 入门(二)

redis 入门(二)

作者: Martain | 来源:发表于2020-03-23 10:26 被阅读0次
  • 上一篇文章中我们介绍了redis以及它的安装和基本数据类型的使用,现在我们来学习下redis的几个重要功能:订阅、事务

订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。

客户端可以订阅某个频道,一个频道可以被多个客户端订阅

订阅频道(图片摘自runoob.com)

当往频道发送信息的时候,该频道的订阅者就能收到信息

发布订阅(图片摘自runoob.com)

实例

  • 订阅频道(不存在的话会创建)
martain@martaindeMacBook-Pro redis % src/redis-cli -p 6380
127.0.0.1:6380> SUBSCRIBE martain  # 订阅频道 martain
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "martain"
3) (integer) 1
  • 发送消息去频道
martain@martaindeMBP redis % src/redis-cli -p 6380
127.0.0.1:6380> PUBLISH martain Hello  # 往频道martain发送
(integer) 1
127.0.0.1:6380> PUBLISH martain GoodMorining
(integer) 1
127.0.0.1:6380> 
  • 收到频道的数据
martain@martaindeMacBook-Pro redis % src/redis-cli -p 6380
127.0.0.1:6380> SUBSCRIBE martain
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "martain"
3) (integer) 1
1) "message"
2) "martain"
3) "Hello"
1) "message"
2) "martain"
3) "GoodMorining"

事务

Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:
批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
一个事务从开始到执行会经历以下三个阶段:

开始事务。
命令入队。
执行事务。

实例

127.0.0.1:6380> MULTI   # 开始事务
OK
127.0.0.1:6380> set front vue  # 命令1
QUEUED
127.0.0.1:6380> SET backup java  # 命令 2 ...
QUEUED
127.0.0.1:6380> SET database mysql
QUEUED
127.0.0.1:6380> GET front
QUEUED
127.0.0.1:6380> GET backup
QUEUED
127.0.0.1:6380> GET database
QUEUED
127.0.0.1:6380> EXEC # 执行事务
1) OK
2) OK
3) OK
4) "vue"
5) "java"
6) "mysql"
127.0.0.1:6380> 

事务开始之后,就可以编写之前学的命令了,当命令编写完成之后可以使用EXEC执行

一、redis 入门(一)

二、redis 入门(二)

三、手写redis客户端

四、redis 读写分离、高可用

相关文章

网友评论

      本文标题:redis 入门(二)

      本文链接:https://www.haomeiwen.com/subject/aceiyhtx.html