MST

星途 面试题库

面试题:Redis中如何利用BY选项进行简单的数值排序

假设Redis中有一个有序集合,成员是一些代表用户ID的字符串,分值是用户的积分。现在需要按照积分从高到低对用户ID进行排序,并返回前10个用户ID。请使用Redis的BY选项实现这个功能,写出相应的Redis命令。
14.6万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试
ZREVRANGEBYSCORE key +inf -inf LIMIT 0 9 WITHSCORES

解释:

  • ZREVRANGEBYSCORE 用于从有序集合中按分值从高到低返回成员。
  • key 是有序集合的键名。
  • +inf -inf 表示返回所有分值范围内的成员,这里由于要按积分从高到低取,所以从正无穷到负无穷。
  • LIMIT 0 9 表示偏移量为0(从第一个开始),取10个元素(索引0 - 9)。
  • WITHSCORES 可选,带上则会同时返回成员及其分值。如果只需要用户ID,可省略该选项,即 ZREVRANGEBYSCORE key +inf -inf LIMIT 0 9