redis的
string
redis string,無字首,對於不存在的key
都會建立指定的
key
命令效果
備註set key value
設定對應的key
和value
set name lzj
get key
獲取對應key
的value
get name
setnx key value
如果key
已經存在,則不執行並返回0
set if not exists
setex key time value
設定鍵值對並且設定有效期,單位為s
setex name 10 lzj
setrange index str
從指定下標開始替換字元(6
則從第七個字元開始替換),
剩餘的字串不會被刪除
setrange name 0 l
把首字母大寫
mset key1 value1 key2 value2
一次設定多個key
的值,1√0
×,會覆蓋已經存在的
key
mset name lzj *** man
mget key1 key2
一次獲取多個key的值
mget name ***
getset
設定key
的值,返回
key的舊值
gettest name
getrange key start end
獲取子字串
getrange name 0 2
incr key
對key
的值做加加操作,並返回新的值
可以通過負數來實現減法
incr age
incrby
新增指定的值
incrb key 2
decr decrby
給指定key
的字串追加
value
,返回新字串值的長度
strlen key
取指定key
的value
值的長度
strlen name
redis自己構建了一種名為簡單動態字串(sds , ****** dunamic string)的抽象型別
將其作為redis的預設字串表示
例: 客戶端設定字串時
set name lzj
鍵值對的鍵是乙個字串物件,底層是儲存著字串"name"的sds
鍵值對的值也是sds,儲存著"lzj"
每個sds.h/sdshdr結構表示乙個sds值:
sds遵循c字串以空字元結尾的慣例,儲存空字元('\0')的1位元組空間不包含在len裡面
sds的空間分配規則:
1.如果sds修改後len小於1mb,則free變為修改後的len長度
即原來len==5,修改後len==10,則修改後 sds = len(10) + free(10) + 1
2.如果sds修改後len>=1mb,則每次擴充套件1mb
Redis string型別的操作
設定key的值 set key value 設定多個key mset key1 value1 key2 value2 keyx valuex 獲取key get key 獲取多個key mget key1 key2.keyx 指定key的字串追加value 擷取key的字串 包括開始位置和結束位置 ...
redis String資料型別
1 set 設定乙個key value 2 get 根據key獲得對應的value 127.0.0.1 6379 set name hello ok127.0.0.1 6379 get name hello 127.0.0.1 6379 3 mset 一次設定多個key value 4 mget 一...
Redis string型別常用操作
redis 有 string list set zset hash資料型別。string型別是最基礎的,其他型別都是在string型別上去建立的,所以了解熟悉string型別的常用操作對於學習redis非常必要。127.0.0.1 6379 7 get hello world integer 141...