我想在我的 Flask 应用程序中接收来自 Redis 的解码响应。
例如,当我使用 redis.hget
时,我收到
{
b'a': b'1',
b'b': b'2',
b'c': b'3',
}
这对于我的用例来说并不是很理想,因为它要求我像这样使用 has 列表 my_hash[b'a']
。
我宁愿收到这样的回复:
{
'a': '1',
'b': '2',
'c': '3',
}
有没有简单的方法让 python-redis 解码来自数据存储的所有响应?
最佳答案
只需制作一个小型自定义提供程序,在使用 from_url
函数配置数据存储时设置 decode_responses
参数。
class DecodedRedis(StrictRedis):
@classmethod
def from_url(cls, url, db=None, **kwargs):
kwargs['decode_responses'] = True
return StrictRedis.from_url(url, db, **kwargs)
redis = FlaskRedis.from_custom_provider(DecodedRedis, app)
关于python - 如何解码 Flask 中的 Redis 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338801/