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
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.