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