日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SETRANGE key offset value

發(fā)布時(shí)間:2025/3/18 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SETRANGE key offset value 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這個(gè)命令的作用是覆蓋key對(duì)應(yīng)的string的一部分,從指定的offset處開始,覆蓋value的長(zhǎng)度。如果offset比當(dāng)前key對(duì)應(yīng)string還要長(zhǎng),那這個(gè)string后面就補(bǔ)0以達(dá)到offset。不存在的keys被認(rèn)為是空字符串,所以這個(gè)命令可以確保key有一個(gè)足夠大的字符串,能在offset處設(shè)置value。

注意,offset最大可以是229-1(536870911),因?yàn)閞edis字符串限制在512M大小。如果你需要超過這個(gè)大小,你可以用多個(gè)keys。

警告:當(dāng)set最后一個(gè)字節(jié)并且key還沒有一個(gè)字符串value或者其value是個(gè)比較小的字符串時(shí),Redis需要立即分配所有內(nèi)存,這有可能會(huì)導(dǎo)致服務(wù)阻塞一會(huì)。在一臺(tái)2010MacBook Pro上,set536870911字節(jié)(分配512MB)需要~300ms,set134217728字節(jié)(分配128MB)需要~80ms,set33554432比特位(分配32MB)需要~30ms,set8388608比特(分配8MB)需要8ms。注意,一旦第一次內(nèi)存分配完,后面對(duì)同一個(gè)key調(diào)用SETRANGE就不會(huì)預(yù)先得到內(nèi)存分配。

##模式

正因?yàn)橛辛?font color="#0066aa">SETRANGE和類似功能的GETRANGE命令,你可以把Redis的字符串當(dāng)成線性數(shù)組,隨機(jī)訪問只要O(1)復(fù)雜度。這在很多真實(shí)場(chǎng)景應(yīng)用里非常快和高效。

##返回值

integer-reply:該命令修改后的字符串長(zhǎng)度

##例子

基本使用方法:

redis> SET key1 "Hello World" OK redis> SETRANGE key1 6 "Redis" (integer) 11 redis> GET key1 "Hello Redis" redis>

補(bǔ)0的例子:

redis> SETRANGE key2 6 "Redis" (integer) 11 redis> GET key2 "\x00\x00\x00\x00\x00\x00Redis" redis>



本文作者:陳群 本文來自云棲社區(qū)合作伙伴rediscn,了解相關(guān)信息可以關(guān)注redis.cn網(wǎng)站。

總結(jié)

以上是生活随笔為你收集整理的SETRANGE key offset value的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。