相关疑难解决方法(0)

在redis中保存unicode但是获取错误

我正在使用mongodb和redis,redis是我的缓存.

我用redis-py缓存mongodb对象:

obj in mongodb: {u'name': u'match', u'section_title': u'\u6d3b\u52a8', u'title': 
u'\u6bd4\u8d5b', u'section_id': 1, u'_id': ObjectId('4fb1ed859b10ed2041000001'), u'id': 1}
Run Code Online (Sandbox Code Playgroud)

使用hgetall(key,obj)从redis获取的obj是:

{'name': 'match', 'title': '\xe6\xaf\x94\xe8\xb5\x9b', 'section_title': 
'\xe6\xb4\xbb\xe5\x8a\xa8', 'section_id': '1', '_id': '4fb1ed859b10ed2041000001', 'id': '1'}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,从缓存获取的obj是str而不是unicode,所以在我的应用程序中,有一个错误:'ascii'编解码器无法解码位置12中的字节0xe6:序数不在范围内(128)

谁能提出一些建议?感谢你

python redis

5
推荐指数
4
解决办法
9673
查看次数

标签 统计

python ×1

redis ×1