有没有一种方式可以异步等待Redis中的键?

3

在redis中,是否可以异步等待某个键存在?

我的当前想法如下:

import asyncio


red = connect_to_redis()

def get_value(key)
    res = None
    for _ in range(100):
        if red.exists(key):
            res = red.get(key)
            break
        await asyncio.sleep(0.1)
    return res

这个问题有更好的解决方案吗?


1
查找如何构建一个“监听器”。 - undefined
1
你可以使用通知 https://redis.io/topics/notifications 来实现这个功能。 - undefined
1个回答

2
你可以使用下面的代码。
from redis import asyncio as aioredis

cache = aioredis.from_url(url)
value =  await cache.get(key)

1
回答需要支持信息 您的回答可以通过提供更多的支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便他人可以确认您的回答是否正确。您可以在帮助中心找到关于如何撰写良好回答的更多信息。 - undefined
@moken 很明显,这段代码不需要解释 - undefined
或许这并不那么明显,这就是为什么答案被标记为“低质量答案”,并有可能被删除的原因。因此,评论是为了促使作者考虑重新审查内容以提高质量。不过,我并不是将其标记为低质量的人。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接