设为首页 加入收藏

TOP

Redis命令详解-string(二)
2014-11-24 03:10:04 来源: 作者: 【 】 浏览:10
Tags:Redis 命令 详解 -string
示一个唯一的对象的不同字段。

MSETNX是原子的,所以所有给定的keys是一次性set的。客户端不可能看到这种一部分keys被更新而另外的没有改变的情况。

返回值

数字,只有以下两种值:

1 如果所有的key被set
0 如果没有key被set(至少其中有一个key是存在的) \

15.setrange key offset value

加入版本 2.2.0。

时间复杂度: O(1),不考虑拷贝新字符串的开销。通常这个字符串非常小,所以均摊代价为O(1)。如果考虑的话,复杂度就是O(M),M是参数value的长度。

这个命令的作用是覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。如果offset比当前key对应string还要长,那这个string后面就补0以达到offset。不存在的keys被认为是空字符串,所以这个命令可以确保key有一个足够大的字符串,能在offset处设置value。

注意,offset最大可以是229-1(536870911),因为redis字符串限制在512M大小。如果你需要超过这个大小,你可以用多个keys。

警告:当set最后一个字节并且key还没有一个字符串value或者其value是个比较小的字符串时,Redis需要立即分配所有内存,这有可能会导致服务阻塞一会。在一台2010MacBook Pro上,set536870911字节(分配512MB)需要~300ms,set134217728字节(分配128MB)需要~80ms,set33554432比特位(分配32MB)需要~30ms,set8388608比特(分配8MB)需要8ms。注意,一旦第一次内存分配完,后面对同一个key调用SETRANGE就不会预先得到内存分配。

模式

正因为有了SETRANGE和类似功能的GETRANGE命令,你可以把Redis的字符串当成线性数组,随机访问只要O(1)复杂度。这在很多真实场景应用里非常快和高效。

返回值

数字:该命令修改后的字符串长度

\

16.strlen key

加入版本 2.2.0。

时间复杂度: O(1)。

返回key的string类型value的长度。如果key对应的非string类型,就返回错误。

返回值

整型数字:key对应的字符串value的长度,或者0(key不存在)

\
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇各数据库导入/导出Access教程--图.. 下一篇enq:TX-rowlockcontention故障处..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)