set

英 [set]   美 [sɛt]  

vt.设置;放置,安置;使处于某种状况;摆放餐具

vi.落山;出发;凝结

n.集合;一套,一副;布景;电视机

adj.固定的;位于…的;顽固的;安排好的

第三人称单数: sets 复数: sets 现在分词: setting 过去式: set 过去分词: set

range

英 [reɪndʒ]   美 [rendʒ]  

n.范围;射程;类别;(山脉,房屋等的)排列

vi.搜索;变化;延伸;漫游

vt.排列;(按一定位置或顺序)排序;把…分类;徘徊

adj.牧场的,放牧区的

第三人称单数: ranges 复数: ranges 现在分词: ranging 过去式: ranged 过去分词: ranged

redis SETRANGE命令 语法

作用:用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。不存在的 key 当作空白字符串处理。

语法:SETRANGE key offset value

说明:SETRANGE 命令会确保字符串足够长以便将 value 设置在指定的偏移量上,如果给定 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ),那么原字符和偏移量之间的空白将用零字节(zerobytes, "\x00" )来填充。注意你能使用的最大偏移量是 2^29-1(536870911) ,因为 Redis 字符串的大小被限制在 512 兆(megabytes)以内。如果你需要使用比这更大的空间,你可以使用多个 key 。

可用版本:>= 2.2.0

时间复杂度:对小(small)的字符串,平摊复杂度O(1)。(关于什么字符串是”小”的,请参考 APPEND 命令)否则为O(M), M 为 value 参数的长度。

返回:被 SETRANGE 修改之后,字符串的长度。

redis SETRANGE命令 示例

# 对非空字符串进行 SETRANGE
redis> SET greeting "hello world"
OK
redis> SETRANGE greeting 6 "Redis"
(integer) 11
redis> GET greeting
"hello Redis"
# 对空字符串/不存在的 key 进行 SETRANGE
redis> EXISTS empty_string
(integer) 0
redis> SETRANGE empty_string 5 "Redis!"   # 对不存在的 key 使用 SETRANGE
(integer) 11
redis> GET empty_string                   # 空白处被"\x00"填充
"\x00\x00\x00\x00\x00Redis!"