redis 由浅入深 之进阶(发布与订阅、事务、连接和Reids服务器)解析

虾米哥 阅读:225 2021-03-31 22:42:19 评论:0

Redis发布与订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。


下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:


当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:



Redis 发布与订阅相关指令:

  • psubscribe(pattern, 匹配通道(待会详解)):订阅一个或多个符合给定模式的通道。
  • pubsub(channel):查看订阅与发布系统状态
  • publish(channel, content):将指定信息发布到指定通道中
  • punsubscribe(channel,匹配通道):退订所有符合模式的指定通道
  • subscribe(channel):订阅指定通道
  • unsubscribe(channel):退订指定通道

实列代码:



重点:redis 匹配模式语法:

每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。


Redis 事务:

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:

  • 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
  • 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

一个事务从开始到执行会经历以下三个阶段:

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

Redis事务相关指令:

  • discard:取消事务,放弃执行事务内包含的指令。
  • exec:执行事务中相关指令
  • multi:标记一个事务开始
  • unwatch:取消watch指令,对所有key的监视。
  • watch(key):用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

实列代码:



Redis 连接:

Redis 连接命令主要是用于连接 redis 服务。


Redis 连接相关指令:

  • auth(password):用于检测给定的密码和配置文件中的密码是否相符
  • echo(message):用于打印给定的字符串
  • ping:使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。

    通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。

  • quit:用于关闭与当前客户端与redis服务的连接。一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭
  • select(index):用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值.


Redis 连接服务器就不做相关Demo 的演示,各位码农可以自己多多动手。


今天的内容已经讲解的比较多,还剩下Redis 服务器,我准备在下一章节中进行讲解。




声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们