在python中通过redis hset存储字典时,必须主动把字典通过json.dumps()序列化为字符串后再存储,

不然hget获取后将无法通过json.loads()反序列化为字典

序列化存储

    r = redis_conn()
    r.hset('wait_task', 'one', json.dumps({'project': 'india', 'total_size': '15.8 MB'}))
    r.hset('wait_task', 'two', json.dumps({'project': 'india', 'total_size': '15.8 MB'}))
    r.hset('wait_task', 'three', json.dumps({'project': 'india', 'total_size': '15.8 MB'}))

反序列化读取

    for k in r.hkeys('wait_task'):
        d = r.hget('wait_task', k)
        print(json.loads(d))

输出

{'project': 'india', 'total_size': '15.8 MB'}
{'project': 'india', 'total_size': '15.8 MB'}
{'project': 'india', 'total_size': '15.8 MB'}

来源:熊彬彬