语法

1
GETRANGE key start end

可用版本

≥ 2.4.0

时间复杂度

$O(N)$

其中 N 是返回字符串的长度。最终的复杂度由返回的长度决定,但是从已存在的字符串中创建子字符串的成本非常低,对于短字符串可以看作 $O(1)$。

ACL 类别

@read, @string, @slow

返回存储在 key 中的字符串值的子字符串,由偏移量 startend 确定(两者都是包括在内的)。可以使用负偏移量以提供从字符串末尾开始的偏移量。即 -1 表示最后一个字符,-2 表示倒数第二个,等等。

该函数通过将结果范围限制为字符串的实际长度来处理超出范围的请求。

返回值

返回 key 中字符串值的子字符串。

示例

设置 tt 的值为 Rain rain go away

1
2
redis> SET tt "Rain rain go away"
OK

获取 tt 的值:

1
2
3
redis> GET tt
"Rain rain go away"
redis>

返回 tt 前四个字符组成的子字符串:

1
2
3
redis> GETRANGE tt 0 3
"Rain"
redis>

返回 tt 末尾七个字符组成的子字符串:

1
2
3
redis> GETRANGE tt -7 -1
"go away"
redis>

(END)