在 Redis 的 zset 中,分数相同的元素按照成员的字典序排序。如果两个成员的分数相同,则将它们按照字典序进行比较,如果成员的字典序也相同,则认为这两个成员是相同的。
举个例子,假设有一个 zset 存储了一些学生的成绩信息:
ZADD scores 85.5 "Alice"
ZADD scores 90.0 "Bob"
ZADD scores 85.5 "Charlie"
ZADD scores 80.0 "David"
这个 zset 按照成绩从高到低排序,但是 Alice 和 Charlie 的成绩相同。根据上面的规则,Alice 和 Charlie 将按照字典序进行比较,由于 A 的 ASCII 码比 C 要小,因此 Alice 排在 Charlie 前面。
使用 zrange 命令可以查看 zset 中的数据:
ZRANGE scores 0 -1 WITHSCORES
输出结果如下:
1) "Bob"
2) "90"
3) "Alice"
4) "85.5"
5) "Charlie"
6) "85.5"
7) "David"
8) "80"
可以看到,Alice 和 Charlie 按照字典序排在 Bob 的前面。