*Redis SORT_RO 命令

只读版本的 SORT 命令。不修改任何 key,不支持 STORE 选项。Redis 7.0+ 引入。


*语法

SORT_RO key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA]

*参数说明

参数 类型 必填 说明
key String 要排序的键名
BY String 按外部 key 排序
LIMIT Integer 分页
GET String 返回外部 key 的值
ASC/DESC 标志 升序/降序
ALPHA 标志 字典序

*返回值

条件 返回值
有结果 排序后的元素数组

*时间复杂度

O(N+M*log(M)),同 SORT。


*示例

> RPUSH mylist 3 1 2
> SORT_RO mylist
1) "1"
2) "2"
3) "3"

# 外部排序
> SORT_RO user_ids BY user_score:* GET user_name:*

*常见错误

  1. 使用 STORE:SORT_RO 不支持 STORE,使用 STORE 会报错。

*最佳实践

  1. 副本只读排序:在只读副本上执行 SORT_RO 排序,分担主节点压力。

*FAQ

Q: SORT_RO 和 SORT 有什么区别? A: SORTRO 是只读命令,不支持 STORE;SORT 支持 STORE 将结果存入新 key。SORTRO 可在只读副本上执行。