SETEX
是一个有用的Redis命令,可以在单个原子操作中设置键的value
和expiry
。
是否存在以原子方式允许某人检索密钥value
和ttl
的等效操作?我知道我也可以在管道中做到这一点,但我想问是否存在像SETEX
那样优雅的东西。如果重要,我正在使用Redis 2.8.4。
答案 0 :(得分:2)
AFAIK,没有这样的命令。但是,您可以将GET
和TTL
包装到Lua脚本中,以便在单个原子调用中获取值和ttl。
此外,您不能通过管道实现这一目标。因为Redis 不会保证管道中的命令以原子方式运行。
答案 1 :(得分:2)
您可以使用MULTI/EXEC
来确保某些命令在交易中。管道只需保存网络传输时间(rtt),因为它会批量发送请求并批量接收回复。
您可以参考Redis Transaction和pipelining了解更多详情。