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

标签 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)

最佳答案

试试这个:

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

关于python - 如何在Redis中保存复杂的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58538899/

相关文章:

python - 如何为一个对象的所有方法起别名?

python - 为什么这种并行搜索和替换没有使用 100% 的 CPU?

python - 在 Python 中编译正则表达式

sql-server - 如何防止 FOR JSON PATH 转义查询结果?

java - 如何解析这个类似于 JSON 的字符串?

python - 在此 Python 3 客户端-服务器示例中,客户端不能发送多条消息

python - 如何从包含字典对象的列表中删除文本?

python - 基于同一列的先前值对列值进行矢量化计算?

python - 导入 numpy 和 Scipy 包的模块/子包的差异

JSON 返回 nil Swift