xin*_*hen 5 redis python-3.x redis-py
redis 版本 3.4.1 必须使用 hash,不能使用 str 或其他数据类型数据:
{'_anno': {
'ctp': 'list',
'dt': [],
'ml': 0,
'na': 'apple',
'pos': -1,
'rel': '',
'st_var': '',
'tp': 'object'},
'_att': {'_cuser': 'apple card',
'_last_editor': 'apple card',
'_protext': 'authorize',
'_status': 'normal',
'_theme_id': 'apple card',
'_view': '12'},
}
Run Code Online (Sandbox Code Playgroud)
我的代码
pool = redis.ConnectionPool(host=host, port=port)
conn = redis.StrictRedis(connection_pool=pool)
conn.hmset("aaaaaa",data)
Run Code Online (Sandbox Code Playgroud)
引发错误
数据错误:类型无效的输入:'dict'。首先转换为字节、字符串、整数或浮点数。
现在代码
pool = redis.ConnectionPool(host=host, port=port)
conn = redis.StrictRedis(connection_pool=pool)
new_data={}
for key,value in data.items():
new_data[key]=json.dumps(value)
conn.hmset("aaaaaa",new_data)
Run Code Online (Sandbox Code Playgroud)
有没有更pythonic的方式?
小智 1
您问题的解决方案是使用hexdigest()
或digest()
转换您的字典,您可以使用:
hashlib.sha256(mdp.encode()).hexdigest()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5297 次 |
最近记录: |