溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redis中字符串怎么用

發(fā)布時(shí)間:2021-12-20 11:39:29 來源:億速云 閱讀:121 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了“Redis中字符串怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Redis中字符串怎么用”這篇文章吧。

redis是以key value的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的,每個(gè)key都是唯一的,字符串是redis里面最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),它的內(nèi)部其實(shí)是一個(gè)字符數(shù)組。

redis里面的字符串是一個(gè)動(dòng)態(tài)字符數(shù)組,有點(diǎn)類似Java里的arrayList,采用預(yù)分配冗余的方式來減少內(nèi)存的頻繁分配,內(nèi)部為當(dāng)前字符串分配的實(shí)際空間 capacity一般要高于實(shí)際字符串長(zhǎng)度len。當(dāng)字符串長(zhǎng)度小于1MB時(shí),擴(kuò)容都是加倍現(xiàn)有的空間。如果字符串長(zhǎng)度超過1MB,擴(kuò)容時(shí)一次只會(huì)多擴(kuò)1MB 的空間,字符串最大長(zhǎng)度為 512MB 。

下面我們嘗試常用的一些命令

>set name mangoOK>get name mango"mango">exists name(intgeter)>del name(intgeter)>get name(nil)

批處理

>mset name1 mango name2 loveOK>mget name1 name21)"mango"2)"love"

延期

> set name mangoOK> get name"mango"> expire name 5...5s后>get name(nil)
>setex name 5 mango  #5s 后過期,等價(jià)于 set+exp工 re> get name"mango"...5s后> get name(nil)
>setnx name mango   #如果 name不存在就執(zhí)行set(integer) 1> get name"mango"> setnx name love(integer) 0       #因?yàn)?nbsp;name 已經(jīng)存在,所以 set 創(chuàng)建不成功#如果 name 不存在就執(zhí)行 set 創(chuàng)建> get name"mango"     #值沒有改變

計(jì)數(shù)

如果value是一個(gè)整數(shù),可以執(zhí)行自增操作,自增的范圍signed long 的最大值和最小值之間,超出了這個(gè)范圍,Redis 會(huì)報(bào)錯(cuò)。

>set age 18OK>incr age(integer)19>incrby age 2(integer)21>incrby age -2(integer)19>set codemax 9223372036854775807OK> incr codemax(error) ERR increment or decrement would overflow

以上是“Redis中字符串怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI