如何在redis python中将具有值的字典存储为列表

YOL*_*OLO 2 python redis

我是 redis 的新手,我希望我早点知道它。

我想在redis中存储这样的东西。它应该存储为哈希值。

{'fruits':['apple','mango','banana'],
 'veggies':['spinach','onion','beans']}
Run Code Online (Sandbox Code Playgroud)

我尝试用redis-collectionpython 包来做到这一点。我面临的问题是,保存.rdb并再次重新加载后,我似乎无法访问密钥。

在文档中,它说我应该检索密钥及其哈希值。我认为必须有更好的方法。

请帮忙。

iGi*_*ian 5

如果您可以考虑使用该json库:

import redis
import json

r = redis.Redis(host='localhost', port=6379, db=0)
Run Code Online (Sandbox Code Playgroud)

存储为 json:

data = {'fruits':['apple','mango','banana'], 'veggies':['spinach','onion','beans']}
r.set('data', json.dumps(data))
Run Code Online (Sandbox Code Playgroud)

获取并转换回字典:

data_fetch = json.loads(r.get('data'))

print(data_fetch.__class__) #=> <class 'dict'>
print(data_fetch) #=> {'fruits': ['apple', 'mango', 'banana'], 'veggies': ['spinach', 'onion', 'beans']}
Run Code Online (Sandbox Code Playgroud)