首先,redis有序集合本身是不支持多
字段排序的
例如
ZADD users 25 Alice
ZADD users 25 Bob
ZADD users 10 Carol
只能通过前面的分数这一个维度来实现,如果现在引入了另一个字段,可以在分数值(利用阿拉伯数字)上做手脚
例如,时间维度
2023-01-01
2023-01-02
2023-01-03
这三个字符串,按照时间先后特性转化为unix时间戳,拼接到分数后面
ZADD users 251672502400 Alice
ZADD users 251672588800 Bob
ZADD users 101672675200 Carol
正向排序
Bob>Alice>Carol
逆向排序
Carol>Alice>Bob
即 第一条件排序 然后第二条件排序
当然,并一定是时间才可以,只要能够将这个字段抽象成数字、升降序
就可以