我们正在使用Redis将各种应用程序配置存储在DB 0中。
是否有可能查询Redis中数据库中的每个键/值对,而无需执行两个单独的查询并自己连接键/值对?
我希望有类似于以下功能:
kv = redis_conn.getall()
# --OR-- #
kv = redis_conn.mget('*')
...其中kv
将返回元组的元组、列表的列表或字典:
但是,在搜索StackOverflow、Google和Redis文档后,我发现唯一的解决方案(我还没有找到其他人提出这个问题…)类似于以下内容:
import redis
red = redis.Redis(host='localhost', db=0)
keys = red.keys()
vals = red.mget(keys)
kv = zip(keys, vals)
我在这里是否有些疯了,认为这个问题可能有更优雅的解决方法?
附加信息
该数据库中的每个值都是字符串。
我的问题并不是如何检索每种唯一数据类型或与数据类型相关的值。
相反,我的问题是:是否有一种方法可以说“嘿Redis,将数据库中的每个字符串值返回给我”,而无需要求键,然后根据返回的键查询值?
MGET
对于非字符串类型返回nil
。 - raffian