Redis資料庫(string和hash類型)

來源:互聯網
上載者:User

Redis資料庫(string和hash類型)

一.string類型

string類型是Redis中最簡單的類型,一個key對應一個value,redis的string可以包含任何資料對象,比如jpg圖片或者序列化的對象。

關於string類型的操作如下:

(1)set和get

set用來設定一個索引值對,例如:set name ACdreamer ,意思就是說設定一個name為"ACdreamer"的索引值對,而要擷取一個索引值對,用get name即可。

(2)setnx

設定key對應的值為string類型的value,如果key已經存在,返回0,nx是not exist的意思。

比如,set name ACdreamer,然後我們用setnx name Jack,這裡name不會被覆蓋掉。

(3)setex

設定key對應值為string類型的value,並指定此索引值對應的有效期間。例如,指定一個haircolor=red的有效期間為10s,那麼set haircolor 10 red,10s後就失效。

(4)setrange

設定指定key的value值的子字串。比如:將我的QQ郵箱替換為gmail郵箱。

set mail ACdreamer@qq.com

setrange mail 10 gmail

表示從第10個下標開始進行替換,替換後的結果為ACdreamer@gmailm,顯然這種替換不合理.

(5)mset

一次設定多個key的值,成功返回OK表示所有的值都設定了,返回0表示沒有任何值被設定。

mset name ACdreamer age 21 sex male

(6)msetnx

一次設定多個key的值,成功返回OK表示所有的值都被設定了,返回0表示沒有任何值被設定,但不會已存在的key。只要有一個設定不成功,那麼所有的鍵都會設定不成功。

(7)getset

設定key的新值,並返回一個key的舊值。

(8)getrange

擷取一個key的value值得字串,比如getrange name 0 5

(9)mget

一次擷取多個key的值,如果不存在返回對應的nil。例如:mget name age sex

(10)incr

對key的值做加加操作,並返回新的值。例如:incr age

(11)incrby

同incr類似,加指定值,key不存在時會設定key,並認為原來的值為0。

例如,incrby age 5

(12)decr和decrby

與incr和incrby差不多,對指定的key進行減操作。

(13)append

給指定字串追加value,返回新字串值得長度。比如:append name @gmail.com

(14)strlen

取指定key的value值得長度。

二.hash類型

redis的hash類型是一個string類型的field和value的映射表,它的添加和刪除操作都是O(1),hash特別適合儲存物件,相對於對象的每個欄位存成單個的string類型,將一個Object Storage Service為hash類型將使用更少的記憶體,並且可以方便存取整個對象。可以看出hash就相當於MySQL中的一張表。

hash表的操作:

(1)hset

設定表中的欄位的值,例如:hset table name ACdreamer

(2)hsetnx

如果同一張hash表中的同一個欄位的值已經被設定,則返回0,代表設定不成功,跟string類型中的setnx用法差不多。

(3)hmset

大量設定,跟string中的mset用法差不多,可以同時設定多個欄位。例如

hmset table name ACdreamer age 21 sex male

(4)hget和hmget

hget返回hash表中的單個欄位的值,例如:hget table name

hmget返回hash表中多個欄位的值,例如:hmget table name age sex

(5)hincrby

hash表中指定欄位的值加一定值,例如:hincrby table age 4

(6)hexists

判斷一張hash表中的某個欄位是否存在,如果存在返回1,否則返回0。

例如:hexists table name

(7)hlen

返回指定hash表的所有存在欄位的數量。

(8)hdel

刪除hash表中指定的欄位。

(9)hkeys

返回hash表中所有的欄位。例如:hkeys table

(10)hvals

返回hash表中所有欄位的值。例如:hvals table

(11)hgetall

擷取某個hash表中的全部field和value值。

Ubuntu 14.04下Redis安裝及簡單測試

Redis叢集明細文檔

Ubuntu 12.10下安裝Redis(圖文詳解)+ Jedis串連Redis

Redis系列-安裝部署維護篇

CentOS 6.3安裝Redis

Redis安裝部署學習筆記

Redis設定檔redis.conf 詳解

Redis 的詳細介紹:請點這裡
Redis 的:請點這裡

本文永久更新連結地址:

相關文章

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.