sorting - redis按多字段排序

标签 sorting redis

多排序字段用sql查询很方便,例如:

select * from user order by score desc,name desc

有两个字段 sort(score,name)。

在redis中应该怎么做?

最佳答案

使用按分数排序的redis排序集。您必须根据需要准备乐谱。

finalScore = score*MAX_NAME_VALUE + getIntRepresentation(name) 
//MAX_NAME_VALUE is the maximum value returned by getIntRepresentation() method

然后使用

 zadd myset finalScore value

和刚刚使用

zrevrange myset 0 10

关于sorting - redis按多字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17975270/

相关文章:

c++ - 如何使用 boost 库中的 integer_sort?

c++ - 我们在 std::map 或 std::set 中有什么样的排序?

windows - 在 Windows 上配置 Redis

python - 根据字典中的 "dependencies"对 python 列表进行排序

linux - 如何查找重复行的数量,每行包含几个用空格分隔的数字

javascript - 按两列对 HTML 表格进行排序

java - Redis与数据库通信

php - 发送私有(private)消息或向 socket.io 中的特定用户发送消息的问题

Golang channel 卡住

redis - 返回集合中最后一项的Finder方法,redis,ohm