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

时间:2019-10-24 10:02:37

标签: python json python-3.x 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)

2 个答案:

答案 0 :(得分:2)

尝试以下操作:

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'
}

答案 1 :(得分:0)

您还可以将数据存储为 JSON转储腌制对象。参见:how to store a complex object in redis (using redis-py)

相关问题