GETRANGE:获取字符串值指定索引范围上的内容

通过使用 GETRANGE 命令,用户可以获取字符串值从 start 索引开始,直到 end 索引为止的所有内容:

GETRANGE key start end

GETRANGE 命令接受的是闭区间索引范围,也就是说,位于 start 索引和 end 索引上的值也会被包含在命令返回的内容当中。

举个例子,以下代码展示了如何使用 GETRANGE 命令去获取 message 键的值的不同部分:

redis> GETRANGE message 0 4 -- 获取字符串值索引0至索引4上的内容
"hello"
redis> GETRANGE message 6 10 -- 获取字符串值索引6至索引10上的内容
"world"
redis> GETRANGE message 3 7 -- 获取字符串值的中间部分
"lo wo"
redis> GETRANGE message -11 -7 -- 使用负数索引获取指定内容
"hello"

图2-6展示了上面 4 个命令是如何根据索引去获取值的内容的。

image 2025 01 02 15 26 45 210
Figure 1. 图2-6 GETRANGE 命令执行示例

其他信息

  • 复杂度:O(N),其中 N 为被返回内容的长度。

  • 版本要求:GETRANGE 命令从 Redis 2.4.0 开始可用。