小貝 redis string型別學習

2021-07-04 06:53:08 字數 4460 閱讀 4822

redisstring型別

一、檢視string型別的命令

二、操作string例子

1、開啟redis客戶端,輸入help

127.0.0.1:6379>help

redis-cli2.8.19

type:"help @" to get a list of commands in

"help " for helpon

"help " to get a listof possible help topics

"quit" to exit

備註: help是幫助命令,

2、輸入 help@string

127.0.0.1:6379>help @string

since: 2.0.0

bitcount key [start] [end]

summary: count set bits in a string

since: 2.6.0

bitop operation destkey key [key ...]

summary: perform bitwise operations betweenstrings

since: 2.6.0

……..

備註: 由於篇幅太大,因此省略一些。

1、string型別命令說明

命令名稱 說明

格式set

將字串值value關聯到key。如果key已經持有其他值,set就覆寫舊值,無視型別

set key value

get返回key所關聯的字串值。如果key不存在則返回特殊值nil

get key

setnx

將key的值設為value,當且僅當key不存在。若給定的key已經存在,則setnx不做任何動作

setnx key value

setex

將值value關聯到key,並將key的生存時間設為seconds(以秒為單位)。

setex key seconds value

setrange

用value引數覆寫(overwrite)給定key所儲存的字串值,從偏移量offset開始。不存在的key當作空白字串處理

setrange key offset value

mset

同時設定乙個或多個key-value對。

當發現同名的key存在時,mset會用新值覆蓋舊值

mset key value [key value ...]

mget

返回多個key所關聯的字串值。如果key不存在則返回特殊值nil

mget key1 key2 …

msetnx

同時設定乙個或多個key-value對,當且僅當key不存在。即使只有乙個key已存在,msetnx也會拒絕所有傳入key的設定操作

msetnx key value [key value ...]

getrange

返回key中字串值的子字串,字串的擷取範圍由start和end兩個偏移量決定(包括start和end在內)。負數偏移量表示從字串最後開始計數,-1表示最後乙個字元,-2表示倒數第二個,以此類推

getrange key start end

getset

將給定key的值設為value,並返回key的舊值。當key存在但不是字串型別時,返回乙個錯誤

getset key value

strlen

返回key所儲存的字串值的長度。

當key儲存的不是字串值時,返回乙個錯誤

strlen key

decr

將key中儲存的數字值減一。如果key不存在,以0為key的初始值,然後執行decr操作

decr key

decrby

將key所儲存的值減去減量decrement。如果key不存在,以0為key的初始值,然後執行decrby操作

decrby key decrement

incr

將key中儲存的數字值加一。如果key不存在,以0為key的初始值,然後執行incr操作

incr key

incrby

將key所儲存的值加上增量increment。如果key不存在,以0為key的初始值,然後執行incrby操作

incrby key increment

2、單個字串操作

2.1、設定key為name,其值為xiaobei

127.0.0.1:6379> setname xiaobei ok

2.2、獲取key為name的值

127.0.0.1:6379> get name

"xiaobei"

2.3、獲取key為name的字元長度

127.0.0.1:6379>strlen name

(integer) 7

2.4、向key為name,追加 字元』is good.』

(integer) 15

127.0.0.1:6379>get name

"xiaobeiis good"

2.5、對key為name中的good,替換為great

127.0.0.1:6379>setrange name 11 great

(integer) 16

127.0.0.1:6379>get name

"xiaobeiis great"

3、批量設定多個字元

3.1、分別設定key為name,age ,其值分別對應xiaobei,24

127.0.0.1:6379>mset name xiaobei age 24 ok

3.2、獲取key為name和age的值

127.0.0.1:6379>mget name age

1)"xiaobei"

2)"24"

4、自增或自減操作

4.1、自增操作

127.0.0.1:6379>incr c

(integer) 1

127.0.0.1:6379>get c

"1"127.0.0.1:6379>incr c

(integer) 2

127.0.0.1:6379>get c

"2"4.2、自減操作

127.0.0.1:6379>decr c

(integer) 1

127.0.0.1:6379>get c

"1"127.0.0.1:6379>decr c

(integer) 0

127.0.0.1:6379>get c

"0"4.3、按10進行自增

127.0.0.1:6379>incrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>incrby c 10

(integer) 20

127.0.0.1:6379>get c

"20"

4.4、按10進行自減

127.0.0.1:6379>decrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>decrby c 10

(integer) 0

127.0.0.1:6379>get c

"0"

5、常見錯誤

5.1、自增或自減只能針對 數字字串的key或未存在的key

127.0.0.1:6379>set name '1'

ok127.0.0.1:6379>get name

"1"127.0.0.1:6379>incr name

(integer)2

127.0.0.1:6379>set name 'xiaobei'

ok127.0.0.1:6379>get name

"xiaobei"

127.0.0.1:6379>incr name

(error)err value is not an integer or out of range

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...