python - 获取带分数的zrange

标签 python redis

是否有可能获得元素的元组列表及其在 ZSET 中的分数?例如:

redis.zrange-function('channel', 0, -1)
[('item1', 123), ('item2', 333), etc.]

最佳答案

对于 redis-py , 在 zrange() 中有一个可选参数根据 docs for zrange() :

zrange(name, start, end, desc=False, withscores=False, score_cast_func=<type 'float'>)

Return a range of values from sorted set name between start and end sorted in ascending order.

...

withscores indicates to return the scores along with the values. The return type is a list of (value, score) pairs

例子:

In [292]: import redis

In [293]: r = redis.Redis()

In [294]: r.zadd('channel', 'a', 0, 'b', 5, 'c', 8, 'd', 20)
Out[294]: 4

In [295]: r.zrange('channel', 0, -1, withscores=True)
Out[295]: [(b'a', 0.0), (b'b', 5.0), (b'c', 8.0), (b'd', 20.0)]

关于python - 获取带分数的zrange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52582614/

相关文章:

python - 为什么在函数内部调用时 exec() 的工作方式不同以及如何避免它

python - QString : Unicode encoding-decoding problem

python - Spacy 中的新命名实体类

c++ - 我们如何将 C++ 类对象作为值存储在 Redis 数据库中?

python - 这是从 df 获取一堆索引排列的最佳方法

python - 如何在 Python 中将字符串转换为有效的变量名?

redis - 为什么 Redis 在计算脚本的 SHA1 哈希之前要修剪尾随空格?

asp.net - Redis 框架的服务堆栈许可证

c# - 需要帮助序列化多个对象以使用 C# 缓存到 redis

ruby-on-rails - Controller 中的查询缓存