天天看點

redis資料類型-字元串類型

字元串類型是Redis中最基本的資料類型,它能存儲任何形式的字元串,包括二進制資料。你可以用其存儲使用者的郵箱、JSON化的對象甚至是一張圖檔。一個字元串類型鍵允許存儲的資料的最大容量是<code>512MB</code>。

注釋:在Redis 3.0版本中可能會放寬這一限制,但無論如何,考慮到Redis的資料是使用記憶體存儲的, 512MB的限制已經非常寬松了。

字元串類型是其他4種資料類型的基礎,其他資料類型和字元串類型的差别從某種角度來說隻是組織字元串的形式不同。例如,清單類型是以清單的形式組織字元串,而集合類型是以集合的形式組織字元串。

如果隻使用redis中的字元串類型,且不使用redis的持久化功能,那麼,redis就和memcache非常非常的像了。這說明strings類型是一個很基礎的資料類型,也是任何存儲系統都必備的資料類型。

SET key value

GET key

SET和GET是Redis中最簡單的兩個指令,它們實作的功能和程式設計語言中的讀寫變量相似,如key="hello"在Redis中是這樣表示的:

當鍵不存在時會傳回空結果。

遞增數字

INCR key

前面說過字元串類型可以存儲任何形式的字元串,當存儲的字元串是整數形式時, Redis

提供了一個實用的指令INCR,其作用是讓目前鍵值遞增,并傳回遞增後的值,用法為:

當要操作的鍵不存在時會預設鍵值為0,是以第一次遞增後的結果是1。當鍵值不是整數時Redis會提示錯誤:

DECR key

DECRBY key decrement

DECR指令與INCR指令用法相同,隻不過是讓鍵值遞減,例如:

而DECRBY指令的作用不用介紹想必讀者就可以猜到, DECRBY key 5 相當于INCRBY key -5。

INCRBYFLOAT key increment

INCRBYFLOAT 指令類似INCRBY指令,差别是前者可以遞增一個雙精度浮點數,如:

APPEND key value

APPEND作用是向鍵值的末尾追加value。如果鍵不存在則将該鍵的值設定為value,即相

當于SET key value。傳回值是追加後字元串的總長度。例如:

此時key的值是"hello world!"。 APPEND指令的第二個參數加了雙引号,原因是該參數包

含空格,在redis-cli中輸入需要雙引号以示區分。

前面提到了字元串類型可以存儲二進制資料,是以它可以存儲任何編碼的字元串。例子

中 Redis接收到的是使用UTF-8編碼的中文,由于“你”和“好”兩個字的UTF-8編碼的長度都是3,是以此例中會傳回6。