Redis資料類型及操作

來源:互聯網
上載者:User

strings 類型

string 類型是二進位安全的。

redis 的 string 可以包含任何資料,比如 jpg 圖片或者序列化的對象。從內部實現來看其實 string 可以看作 byte 數組,最大上限是 1G 位元組
struct sdshdr {
 long len;//buf的長度
 long free;//buf剩餘可用位元組數
 char buf[];//實際的字串內容
};


1:set

設定 key 對應的value(string類型)

> set name larry

ok

2:setnx

即set not exist,如果 key 已經存在,返回 0

> set name larry

ok

>setnx name larry

(integer) 0

3:setex
儲存索引值對,並設定有效期間

>setex name 10 larry
ok

>get name

"larry"

10秒鐘後...

>get name

(nil)

4:setrange

有就替換,沒有就用\x00代替缺少的字元來替換,數字代表開始替換的下標
> get name
"larry"
>setrange name 0 lv

(integer) 5
>get name
"lvrry"

>setrange name 10 lv

"lvrry\x00\x00\x00\x00\x00lv"

5:mset

每次設定多個key值

>mset key1 value1 key2 value2

ok

6:msetnx

一次設定多個 key 的值,具有原子性,同時成功或失敗,失敗返回0,所有操作復原

7:get

根據key擷取值,不存在返回(nil)

>get asdasds

(nil)

8:getset

擷取舊值並設定一個新值,不存在返回(nil)

>get name

"larry"

>getset name lv

"larry"

>get name

"lv"

>getset dsadasd lv

(nil)

9:getrange

根據指定的下標擷取值,負數表示從右邊開始

>getrange 0 1 name

"la"

10:mget

返回多個值,不存在返回(nil)

>get name sdadasd

1)"larry"

2)(nil)

11:incr

加加操作,如果字元不是int型會報錯(error) ERR value is not an integer or out of range

> set age 20
OK
 incr age
(integer) 21

12:incrby

加操作

> get age
"21"
> incrby age 5
(integer) 26

13:decr

減減操作

14:decrby

減操作

15:append

追加操作,返回字串長度

>append name lv

(integer) 15

>get name

"larrylv"

16:strlen

返回value的長度

  • 1
  • 2
  • 3
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.