如何在Redis中保存复杂的数据结构



我是python的新手。运行代码时出现错误:

import redis
def redisSave(case, key, ob):
dataBase = None
if case == 'Product':
dataBase = redis.Redis(db=0)
dataBase.set(key, ob)
dataBase.expire(key, time=600)
else:
pass
dictOb = {
'price': '2000 $',
'weight': '50 lb'
}
redisSave('Product', 'first', dictOb)

它说输入类型无效(redis.exceptions.DataError(

试试这个:

def redis_save(case, key, obj):
data_base = None
if case == 'Product':
data_base = redis.Redis(db=0)
if isinstance(obj, dict):
data_base.hmset(key, obj)
data_base.expire(key, time=600)

访问数据:data_base.hgetall('first')

结果:

{
b'price': b'2000 $',
b'weight': b'50 lb'
}

您还可以将数据存储为JSON转储腌制对象。请参见:如何在redis中存储复杂对象(使用reds-py(。

最新更新