溫馨提示×

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

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

Redis數(shù)據(jù)類型之字符串String

發(fā)布時(shí)間:2020-07-01 18:30:05 來源:網(wǎng)絡(luò) 閱讀:416 作者:鄒君安 欄目:開發(fā)技術(shù)

String類型是Redis中最基本也最簡單的一種數(shù)據(jù)類型

首先演示一些常用的命令

一、SET key value 和GET key

SET key value 和 GET key  設(shè)置鍵值和獲取值

Redis數(shù)據(jù)類型之字符串String

SET將鍵today的值設(shè)為tuesday;GET取出鍵today的值

SET命令執(zhí)行成功后返回OK;GET返回要取到的值 

當(dāng)一個(gè)key已經(jīng)有值時(shí),使用SET會(huì)覆蓋其原有值,并且不受類型限制

Redis數(shù)據(jù)類型之字符串String

today的原有值"tuesday"被"12"覆蓋。Redis里沒有整數(shù)類型,即使SET賦值一個(gè)整數(shù),也會(huì)以字符串形式存儲(chǔ)

 當(dāng)使用GET操作一個(gè)不存在的鍵時(shí),返回nil

Redis數(shù)據(jù)類型之字符串String

注意:當(dāng)使用SET給定一個(gè)普通的值時(shí),不需要加雙引號(hào),但當(dāng)值有空格或其他特殊字符時(shí),需要加上引號(hào),否則會(huì)報(bào)語法錯(cuò)誤

Redis數(shù)據(jù)類型之字符串String

 

 

二、GETRANGE key start end


作用:獲取存儲(chǔ)在指定key中的字符串的子字符串,字符串的截取范圍由start和end來決定【不同于其他腳本語言,這里的start和end都是閉區(qū)間】

 同其他腳本一樣,Redis的索引也是從0開始

GETRANGE的使用方法如下:

Redis數(shù)據(jù)類型之字符串String

GETRANGE test 0 3 :從索引0開始由左至右取到索引為3的字符

GETRANGE test 0 -1 : -1代表從右至左的第一個(gè)字符,也就是字符串的末位字符,那么這條命令就是取到字符串的全部

 

三、GETSET key value

作用:設(shè)置指定key的值,并返回key舊的值

Redis數(shù)據(jù)類型之字符串String

當(dāng)指定key之前并不存在時(shí),使用GETSET會(huì)為key創(chuàng)建一個(gè)值,并且返回nil;當(dāng)key存在時(shí),會(huì)為其指定一個(gè)新值,并且將原有值返回

 

四、GETBIT key value

作用:對(duì)key所存儲(chǔ)的字符串值,獲取指定偏移量上的位

GETBIT對(duì)于不存在的key或者不存在的offset,返回0

Redis數(shù)據(jù)類型之字符串String

當(dāng)offset存在時(shí),返回偏移量上的位

Redis數(shù)據(jù)類型之字符串String

五、MGET key1 key2 ... keyn

作用:返回所有給定key的值,如果某個(gè)key不存在,返回nil

Redis數(shù)據(jù)類型之字符串String

key1和key2都存在,返回其值;keynotexist并不存在,獲取其值時(shí)返回nil

六、SETBIT key offset

作用:對(duì)key所存儲(chǔ)的字符串值,設(shè)置或清除指定偏移量上的位

Redis數(shù)據(jù)類型之字符串String

當(dāng)沒有使用SETBIT設(shè)置偏移量的位時(shí),使用GETBIT將返回0

七、SETEX key seconds value

作用:為指定的key設(shè)置值和過期時(shí)間,如果key已存在,則新值會(huì)覆蓋舊值

Redis數(shù)據(jù)類型之字符串String

"TTL key" 可以獲取key的剩余存在時(shí)間,如果在執(zhí)行GET時(shí),key存在則返回其值;不存在,返回nil

八、SETEX key value

作用:當(dāng)指定的key不存在時(shí),才給其設(shè)置指定的值。設(shè)置成功返回1,失敗返回0

Redis數(shù)據(jù)類型之字符串String

當(dāng)key已存在,使用SETNX不會(huì)執(zhí)行成功,返回0

九、SETRANGE key offset value

作用:用指定的字符串覆蓋指定key的字符串值,覆蓋的位置從偏移量offset開始

Redis數(shù)據(jù)類型之字符串String

十、STRLEN key

作用:返回指定key的字符串值的長度,當(dāng)key不存在時(shí)返回0

Redis數(shù)據(jù)類型之字符串String

 

 十一、MSET key1 value1 key2 value2 ... keyn valuen

作用:同時(shí)設(shè)置一個(gè)或多個(gè)k-v對(duì)

Redis數(shù)據(jù)類型之字符串String

 

十二、MSETNX key1 value1 key2 value2 ... keyn valuen

作用:同時(shí)設(shè)置一個(gè)或多個(gè)k-v對(duì),當(dāng)且僅當(dāng)key都不存在時(shí)

當(dāng)key都不存在時(shí),使用MSETNX

Redis數(shù)據(jù)類型之字符串String

當(dāng)有key存在時(shí),使用MSETNX

Redis數(shù)據(jù)類型之字符串String

MSET操作是原子性操作,由于鍵rmdbs已存在,所以language并沒有被設(shè)置,rmdbs的值也未被修改

十三、PSETEX key milliseconds value

作用:同SETEX命令相似,但SETEX的時(shí)間是以秒為單位,PSETEX以毫秒為單位

Redis數(shù)據(jù)類型之字符串String

十四、INCR key

作用:將指定key的值遞增加1。如果key不存在,則會(huì)被初始化為0;如果key的值的類型不是數(shù)字或有特殊字符,返回錯(cuò)誤信息

Redis數(shù)據(jù)類型之字符串String

INCR執(zhí)行成功后,返回遞增后的值

Redis數(shù)據(jù)類型之字符串String

由于pageCount之前并不存在,則會(huì)被初始化為0,經(jīng)過INCR操作之后,值遞增為1

Redis數(shù)據(jù)類型之字符串String

如果INCR操作的key的值類型不對(duì),則會(huì)報(bào)錯(cuò)

十五、INCRBY key increment

作用:給key所存儲(chǔ)的值加上指定的增量值

當(dāng)key存在且是數(shù)字時(shí),INCRBY會(huì)返回增加后的值

Redis數(shù)據(jù)類型之字符串String

當(dāng)key不存在時(shí),INCRBY增加的值即為key的值

Redis數(shù)據(jù)類型之字符串String

當(dāng)key存在,但值不是數(shù)字值時(shí)

Redis數(shù)據(jù)類型之字符串String

十六、INCRBYFLOAT key increment

作用:給key所存儲(chǔ)的值加上浮點(diǎn)增量值

當(dāng)key和increment都不是指數(shù)符號(hào)時(shí)

Redis數(shù)據(jù)類型之字符串String

當(dāng)key的值是整數(shù)值時(shí)

Redis數(shù)據(jù)類型之字符串String

忽略無意義的0

Redis數(shù)據(jù)類型之字符串String

當(dāng)key和increment都是指數(shù)符號(hào)時(shí),執(zhí)行后格式會(huì)改為非指數(shù)符號(hào)

Redis數(shù)據(jù)類型之字符串String

十七、DECR key

作用:同INCR key相反,將key的值減1,同樣key不存在時(shí)會(huì)被初始化為0

當(dāng)對(duì)存在數(shù)值鍵key操作時(shí)

Redis數(shù)據(jù)類型之字符串String

當(dāng)key不存在時(shí),key被創(chuàng)建并初始化為0,再減1

Redis數(shù)據(jù)類型之字符串String

當(dāng)key存在,但值不是數(shù)字值時(shí)

Redis數(shù)據(jù)類型之字符串String

 

十八、DECRBY key decrement

作用:key 所儲(chǔ)存的值減去給定的減量值

當(dāng)key存在時(shí)

Redis數(shù)據(jù)類型之字符串String

當(dāng)key不存在時(shí)

Redis數(shù)據(jù)類型之字符串String

 

十九、APPEND key value

作用:如果key已經(jīng)存在并且是字符串值,APPEND將value追加到值的末尾,返回追加后的字符串的長度

當(dāng)key不存時(shí)

Redis數(shù)據(jù)類型之字符串String

當(dāng)key存在時(shí)

Redis數(shù)據(jù)類型之字符串String

 


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

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

AI