重新设置hSet键上的TTL

Ise*_*ngo 0 caching redis redis-cli

我在使用Redis缓存时陷入僵局。我想在按键启动时设置TTL。密钥将由hSet($ hash,$ key,$ data)设置

expire($key, '3600')
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。是否有hExpire()方法?

saz*_*zad 5

说明:

Redis仅在KEY级别支持到期。它不支持任何数据结构的内部元素的到期,更不用说哈希了。

回答:

  1. 否。Redis中没有hExpire方法/命令。
  2. 您正在尝试使哈希中的内部元素过期。在Redis中这是不可能的。

更新:

您可以使整个数据结构(也称为密钥)失效。

使密钥失效的命令之一是EXPIRE key seconds

假设您正在使用phpredis,则您的方法调用可以为setTimeout($hash, 3600)