redis是怎么使用的? redis的订阅和发布?
Redis 是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,可通过 TCP 连接提供服务,并支持持久化到硬盘。
Redis 的基本使用方式包括:
作为缓存:
- 通过
SET
、GET
、DEL
等命令存取数据,可以显著提高应用程序对热点数据的读取速度。
- 通过
作为数据库:
- 通过
HSET
、HMGET
等命令操作哈希结构,或者LPUSH
、LPOP
等命令操作列表结构,可以存储和查询复杂的数据结构。
- 通过
数据持久化:
- Redis 提供 RDB(快照)和 AOF(日志追加)两种持久化方案,以确保在服务重启或意外中断后数据不会丢失。
事务:
- Redis 提供了
MULTI
、EXEC
、DISCARD
等命令来支持事务操作,确保一系列命令以原子方式执行。
- Redis 提供了
关于 Redis 的发布与订阅(Pub/Sub)机制:
Redis 的发布与订阅是一种消息通信模式,它允许客户端订阅频道(channel),发布者将消息推送给订阅了该频道的所有客户端。
发布消息:
使用PUBLISH
命令向指定频道发布消息,例如:PUBLISH mychannel "Hello World!"
订阅消息:
客户端使用SUBSCRIBE
或PSUBSCRIBE
命令订阅一个或多个频道(或模式)。例如:SUBSCRIBE mychannel PSUBSCRIBE news.*
SUBSCRIBE
用于订阅指定的频道名称,而PSUBSCRIBE
用于订阅匹配特定模式的频道。接收消息:
订阅者在订阅后会进入监听模式,当有消息发布到已订阅的频道时,会接收到消息。客户端通过接收 Redis 服务器返回的message
类型回复来获取消息内容。解除订阅:
使用UNSUBSCRIBE
或PUNSUBSCRIBE
命令可以解除对指定频道或模式的订阅。
通过 Redis 的发布与订阅功能,可以构建实时的消息通知系统,实现消息队列、消息广播等应用场景。多个客户端之间可以进行异步通信,彼此解耦,增强了系统的灵活性和可扩展性。
http状态码: 1开头的
HTTP状态码1开头的状态码属于信息响应类,目前定义了两个标准状态码:
- 100 Continue:
- 根据HTTP/1.1规范,客户端在发送可能大量数据的请求(如POST请求)之前,可以先发送一个带有Expect: 100-continue头部的初步请求,询问服务器是否愿意接受请求实体主体。服务器回应100 Continue状态码表示客户端应当继续发送请求的剩余部分。
这个状态码主要用于分两步完成HTTP请求,减少在网络上传输大量数据却因服务器不接受请求而造成的浪费。在收到100 Continue响应之前,客户端不应发送请求的主体内容。
1开头的状态码并不常见,主要用于特殊情况下客户端和服务端之间的协商过程。在大多数情况下,客户端发送请求时无需期待1开头的状态码。