python3一个很重要的改进是解决了python2中编码的重大缺陷。字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。
在使用python3开发是,调用redis时,如果不加设置,默认得到的是二进制数据。可以通过设定decode_responses=True的方式做数据的默认解码,这样得到的即为str数据。但该设置在不同redis连接下有细微差别:
# 连接池模式
pool = redis.ConnectionPool(host="127.0.0.1", password="", db=3, port=6379, decode_responses=True)
rs = redis.Redis(connection_pool=pool)
# 单独连接模式
rs = redis.Redis(host="127.0.0.1", password="", db=3, port=6379, decode_responses=True)