2

SETEX是一个有用的 Redis 命令,可以在单个原子操作中设置键的value和。expiry

是否有一个等效的操作可以原子地使人能够检索密钥的valuettl?我知道我也可以在管道中做到这一点,但我在问是否SETEX存在类似优雅的东西。如果重要的话,我使用的是 Redis 2.8.4。

4

2 回答 2

2

AFAIK,没有这样的命令。但是,您可以将其包装GETTTLLua 脚本中,以便在单个原子调用中同时获取 value 和 ttl。

此外,您无法通过管道实现这一目标。因为 Redis保证管道中的命令是原子运行的。

于 2017-09-06T01:56:37.693 回答
2

您可以MULTI/EXEC用来确保某些命令在事务中。管道只是节省了网络传输时间(rtt),因为它会批量发送请求并接收批量回复。

您可以参考Redis 事务流水线以获取更多详细信息。

于 2017-09-06T02:31:45.913 回答