*Redis CLIENT CACHING 命令

在 CLIENT TRACKING OPTIN/OPTOUT 模式下,标记下一个命令是否读取数据用于缓存。Redis 6.0+ 引入。


*语法

CLIENT CACHING yes | no

*参数说明

参数 类型 必填 说明
yes/no 标志 是否缓存下一个命令的读取结果

*返回值

条件 返回值
成功 OK

*时间复杂度

O(1)

*

*示例

# 开启 OPTIN 模式
> CLIENT TRACKING on OPTIN
OK

# 标记下一个命令读取的数据需要缓存
> CLIENT CACHING yes
OK
> GET user:1001
"Alice"

# 标记不需要缓存
> CLIENT CACHING no
OK
> GET user:1002
"Bob"

*常见错误

  1. 未开启 OPTIN/OPTOUT:CLIENT CACHING 只在 OPTIN 或 OPTOUT 模式下有效。

*最佳实践

  1. 选择性缓存:只缓存热点数据,减少缓存内存占用和失效通知。

*FAQ

Q: CLIENT CACHING yes 只影响下一个命令吗? A: 是。只影响紧跟其后的那一个命令。需要缓存多个命令时,每个命令前都需要 CLIENT CACHING yes。