客户跟踪

语法
CLIENT TRACKING <ON | OFF> [REDIRECT client-id] [PREFIX prefix
  [PREFIX prefix ...]] [BCAST] [OPTIN] [OPTOUT] [NOLOOP]
从以下位置开始可用:
6.0.0
时间复杂度:
O(1) 的某些选项可能会带来额外的复杂性。
ACL 类别:
@slow, @connection,

此命令启用使用的 Redis 服务器的跟踪功能 用于服务器辅助的客户端缓存

启用跟踪后,Redis 会记住连接 requested,以便在此类键被 改 性。失效消息在同一连接中发送(仅可用 当使用 RESP3 协议时)或重定向到其他连接 (也可用于 RESP2 和 Pub/Sub)。一种特殊的广播模式是 在参与此协议的客户端接收每个 通知仅订阅给定的键前缀,而不管 键。鉴于论点的复杂性,请 有关详细信息,请参阅主客户端缓存文档。本手册页仅作为此子命令选项的参考。

要启用跟踪,请使用:

CLIENT TRACKING on ... options ...

该功能将在其整个生命周期内在当前连接中保持活动状态。 除非使用 关闭跟踪CLIENT TRACKING off在某个时候。

以下是修改 命令:

  • REDIRECT <id>:向具有指定 ID 的连接发送失效消息。连接必须存在。您可以使用CLIENT ID.如果我们要重定向到的连接已终止,则在 RESP3 模式下,启用跟踪的连接将收到tracking-redir-broken推送消息以发出条件信号。
  • BCAST:在广播模式下启用跟踪。在此模式下,无论连接请求的键如何,都会报告指定的所有前缀的失效消息。相反,当广播模式未启用时,Redis 将跟踪使用只读命令获取的密钥,并且将仅报告此类密钥的失效消息。
  • PREFIX <prefix>:对于广播,请注册给定的 Key 前缀,以便仅针对以此字符串开头的 Key 提供通知。可以多次提供此选项以注册多个前缀。如果在没有此选项的情况下启用广播,Redis 将为每个 key 发送通知。您不能删除单个前缀,但可以通过禁用和重新启用跟踪来删除所有前缀。使用此选项会增加 O(N^2) 的额外时间复杂度,其中 N 是跟踪的前缀总数。
  • OPTIN:当广播处于非活动状态时,通常不会跟踪只读命令中的键,除非它们在CLIENT CACHING yes命令。
  • OPTOUT:当广播未激活时,通常会跟踪只读命令中的键,除非它们在CLIENT CACHING no命令。
  • NOLOOP:不发送有关此连接本身修改的键的通知。

RESP2/RESP3 回复

简单的字符串回复OK如果连接已成功进入跟踪模式,或者是否成功禁用跟踪模式。否则,将返回错误。
为本页评分
返回顶部 ↑