我想使用redis的python客户端执行以下命令
zrangebylex names_sorted_set [a "[a\xff\xff\xff\xff"但是在我的代码中,会发生以下情况
name = request.GET.get('name', '')
redis_con = redis.StrictRedis(settings.REDIS_HOST, settings.REDIS_PORT)
min = '[' + name
max = '[' + name + """\xff\xff"""
result = redis_con.zrangebylex('names_sorted_set', min, max)上面的代码给我这个错误'ascii‘编解码器不能解码字节0xff在位置0:序数不在范围(128)...我尝试了另一段代码,即
redis_con = redis.StrictRedis(settings.REDIS_HOST, settings.REDIS_PORT)
min = '[' + name
max = '[' + name + """\\xff\\xff"""
result = redis_con.zrangebylex('names_sorted_set', min, max)最后一个命令将此作为命令传递给redis:
zrangebylex names_sorted_set [a "[a\\xff\\xff\\xff\\xff"PS:代码的目的是在一个排序的集合中查找所有以特定前缀开头的字符串,例如:a。
发布于 2016-08-20 19:15:33
这个成功了
name = request.GET.get('name', '')
redis_con = redis.StrictRedis(settings.REDIS_HOST, settings.REDIS_PORT)
min = '[' + name
max = bytearray('[') + \
bytearray(name, 'utf-8') + \
b'\xff\xff\xff\xff\xff\xff\xff\xff\xff'
result = redis_con.zrangebylex('names_sorted_set', min, max)https://stackoverflow.com/questions/39053223
复制相似问题