gpt4 book ai didi

Python redis 客户端 zrangebylex

转载 作者:可可西里 更新时间:2023-11-01 11:32:28 30 4
gpt4 key购买 nike

我想使用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' codec can't decode byte 0xff in position 0: ordinal not in range(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:该代码旨在查找排序集中以特定前缀 eg:a 开头的所有字符串。

最佳答案

这个成功了

    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)

关于Python redis 客户端 zrangebylex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39053223/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com