redis是怎么使用的? redis的订阅和发布?

Redis 是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,可通过 TCP 连接提供服务,并支持持久化到硬盘。

Redis 的基本使用方式包括:

  1. 作为缓存

    • 通过 SETGETDEL 等命令存取数据,可以显著提高应用程序对热点数据的读取速度。
  2. 作为数据库

    • 通过 HSETHMGET 等命令操作哈希结构,或者 LPUSHLPOP 等命令操作列表结构,可以存储和查询复杂的数据结构。
  3. 数据持久化

    • Redis 提供 RDB(快照)和 AOF(日志追加)两种持久化方案,以确保在服务重启或意外中断后数据不会丢失。
  4. 事务

    • Redis 提供了 MULTIEXECDISCARD 等命令来支持事务操作,确保一系列命令以原子方式执行。

关于 Redis 的发布与订阅(Pub/Sub)机制:

Redis 的发布与订阅是一种消息通信模式,它允许客户端订阅频道(channel),发布者将消息推送给订阅了该频道的所有客户端。

  • 发布消息
    使用 PUBLISH 命令向指定频道发布消息,例如:

    PUBLISH mychannel "Hello World!"
  • 订阅消息
    客户端使用 SUBSCRIBEPSUBSCRIBE 命令订阅一个或多个频道(或模式)。例如:

    SUBSCRIBE mychannel
    PSUBSCRIBE news.*

    SUBSCRIBE 用于订阅指定的频道名称,而 PSUBSCRIBE 用于订阅匹配特定模式的频道。

  • 接收消息
    订阅者在订阅后会进入监听模式,当有消息发布到已订阅的频道时,会接收到消息。客户端通过接收 Redis 服务器返回的 message 类型回复来获取消息内容。

  • 解除订阅
    使用 UNSUBSCRIBEPUNSUBSCRIBE 命令可以解除对指定频道或模式的订阅。

通过 Redis 的发布与订阅功能,可以构建实时的消息通知系统,实现消息队列、消息广播等应用场景。多个客户端之间可以进行异步通信,彼此解耦,增强了系统的灵活性和可扩展性。

http状态码: 1开头的

HTTP状态码1开头的状态码属于信息响应类,目前定义了两个标准状态码:

  1. 100 Continue
    • 根据HTTP/1.1规范,客户端在发送可能大量数据的请求(如POST请求)之前,可以先发送一个带有Expect: 100-continue头部的初步请求,询问服务器是否愿意接受请求实体主体。服务器回应100 Continue状态码表示客户端应当继续发送请求的剩余部分。

这个状态码主要用于分两步完成HTTP请求,减少在网络上传输大量数据却因服务器不接受请求而造成的浪费。在收到100 Continue响应之前,客户端不应发送请求的主体内容。

1开头的状态码并不常见,主要用于特殊情况下客户端和服务端之间的协商过程。在大多数情况下,客户端发送请求时无需期待1开头的状态码。

最后编辑: kuteng  文档更新时间: 2024-04-02 09:53   作者:kuteng