文章歸部落格園和作者“蝸牛”共同所有 。轉載和爬蟲請注明原文Redis系列連結 http://www.cnblogs.com/tdws/tag/NoSql/
Redis有五種基本資料類型。他們分别是字元串,散列,清單,集合,有序集合。實際上,後四種,在我們表面上了解看來,是以不同的形式來組織字元串鍵值。
你可以用其存儲任何你所希望的一塊整體資料,是整體資料喲。如果是文章的标題,标簽,内容,評論這樣的資料,雖然你可以将其對象序列化為Json存儲,但是不建議使用字元串。因為作為一個整體存儲,當你想獲得其中任意一項時,比如标題或者說作者,你需要擷取整文章資料并且傳輸量大了不少,接下來反序列化,并獲得标題。你也甚至可以存儲base64一類的圖檔等等。最常用的像使用者名,密碼,郵箱,驗證碼等。一個字元串鍵最大允許存儲512MB資料。
set key value
keys * 列出所有鍵 keys ,不建議在生産環境使用。
keys支援通配符号
使用*比對任意個(包括0個)字元
使用[] 比對範圍
使用?比對任意一個字元。注意 是“一”個
還有一個\x轉義符,這就是在需要取有轉義符号的内容時用到的。
exists 判斷是否存在,存在幾個傳回相應的數字
del keys 删除鍵 删除幾個傳回相應的數字
type key 傳回key的類型
get key 擷取鍵值 隻适用于字元串喲
incr key遞增數字,用get set自主實作incr key會發生競态。詳情請看我的Redis并發鎖一文。如果不存在的key預設為0,該指令操作後值為1,傳回遞增後的值。
incrby key 增加指定值,傳回的是增加後的結果。
decr decrby都是減法。
append key val拼接值,最後傳回字元串長度。
strlen擷取鍵的值的字元串長度。
mset mget 一次存儲和擷取多個鍵值
小結:簡單介紹了基本的字元串類型操作以及結果。還有位操作沒怎麼用過。incr指令一般可以用于文章的ID,通路量統計等情況,不會發生并發競态。
另外在習慣中,我們為Redis的key命名是由對象類型:對象ID:對象屬性來命名的。
比如:Artical:4001:ViewCount 文章4001的通路量 Project:1001:PM 項目1001的PM Book:9001:Author.Name 書籍9001的作者名稱