Redis管道-原子获取另一个键值的值

Nad*_*ern 2 python redis

我有一个名为“a”的字符串键,其值为“b”,我还有一个名为“b”的哈希集,它有多个值,例如:

"a" (value equals to "b")

"b": {
       "first_name": "John",
       "last_name": "Doe"

}
Run Code Online (Sandbox Code Playgroud)

是否可以使用管道,因此给定键“a”我将收到对象 b 值?

谢谢

for*_*ack 5

管道将不起作用,因为您必须等到第一个get命令返回真正的 key,即b

相反,您可以使用 来实现它lua scripts

local real_key = redis.call('get', KEYS[1])
if real_key then return redis.call('hgetall', real_key) end
Run Code Online (Sandbox Code Playgroud)

整个lua脚本以原子方式执行。