- 用法
-
CLIENT TRACKING 〈 ON | OFF 〉 [ REDIRECT client-id ] [ PREFIX prefix ] [ [ PREFIX prefix ] ... ] [ BCAST ] [ OPTIN ] [ OPTOUT ] [ NOLOOP ]
- 复杂度
- O(1)。某些选项可能会引入额外的复杂度。
- 起始版本
- 6.0.0
- ACL 类别
- @connection, @slow
REDIRECT <id>
:将失效消息发送到具有指定 ID 的连接。该连接必须存在。您可以使用CLIENT ID
获取连接的 ID。如果重定向到的连接终止,在 RESP3 模式下,已启用追踪的连接将收到tracking-redir-broken
推送消息,以指示该状况。BCAST
:在广播模式下启用追踪。在此模式下,无论连接请求了哪些键,都会报告所有指定前缀的失效消息。而当未启用广播模式时,Valkey 将追踪使用只读命令获取了哪些键,并且仅报告这些键的失效消息。PREFIX <prefix>
:对于广播模式,注册一个给定的键前缀,以便只为以该字符串开头的键提供通知。此选项可以多次给定以注册多个前缀。如果在没有此选项的情况下启用广播,Valkey 将发送所有键的通知。您无法删除单个前缀,但可以通过禁用并重新启用追踪来删除所有前缀。使用此选项会增加 O(N^2) 的额外时间复杂度,其中 N 是追踪的前缀总数。OPTIN
:当广播未激活时,通常不追踪只读命令中的键,除非它们紧跟在CLIENT CACHING yes
命令之后调用。OPTOUT
:当广播未激活时,通常追踪只读命令中的键,除非它们紧跟在CLIENT CACHING no
命令之后调用。NOLOOP
:不发送关于此连接自身修改的键的通知。
此命令启用 Valkey 服务器的追踪功能,该功能用于服务器辅助客户端缓存。
启用追踪后,Valkey 会记住连接请求过的键,以便在这些键被修改时稍后发送失效消息。失效消息可以在同一连接中发送(仅在使用 RESP3 协议时可用),也可以重定向到不同的连接中发送(RESP2 和 Pub/Sub 也可用)。还有一种特殊的广播模式,在此模式下,参与此协议的客户端只需订阅给定的键前缀即可接收所有通知,无论它们请求了哪些键。鉴于此参数的复杂性,详细信息请参阅主客户端缓存文档。本手册页仅作为此子命令选项的参考。
要启用追踪,请使用
CLIENT TRACKING on ... options ...
此功能将在当前连接的整个生命周期内保持活动状态,除非在某个时候使用 CLIENT TRACKING off
关闭追踪。
以下是启用追踪时修改命令行为的选项列表
RESP2/RESP3 回复
简单字符串回复:如果连接成功进入追踪模式或追踪模式成功禁用,则返回 OK
。否则,将返回错误。