Redis 小白指南(二)- 聊聊五大類型:字元串、散列、列表、集合和有序集合 引言 開篇《Redis 小白指南(一)- 簡介、安裝、GUI 和 C# 驅動介紹》已經介紹了 Redis 的安裝、GUI 和 C# 驅動等基本知識,這一篇主要是梳理一下 Redis 的 5 種類型的信息與指令。 目錄 字 ...
Redis 小白指南(二)- 聊聊五大類型:字元串、散列、列表、集合和有序集合
引言
開篇《Redis 小白指南(一)- 簡介、安裝、GUI 和 C# 驅動介紹》已經介紹了 Redis 的安裝、GUI 和 C# 驅動等基本知識,這一篇主要是梳理一下 Redis 的 5 種類型的信息與指令。
目錄
- 字元串類型(String)
- 散列類型(Hash)
- 列表類型(List)
- 集合類型(Set)
- 有序集合類型(SortedSet)
- 其它命令
字元串類型(String)
1.介紹:
字元串類型是 Redis 中最基本的數據類型,可以存儲二進位數據、圖片和 Json 的對象。
字元串類型也是其他 4 種資料庫類型的基礎,其它數據類型可以說是從字元串類型中進行組織的,如:列表類型是以列表的形式組織字元串,集合類型是以集合的形式組織字元串。
2.命令:
【備註】包括 INCR 在內的所有 Redis 命令都是原子操作。
3.命令測試:
圖:簡單的命令測試
4.命名:
建議:“對象類型:對象ID:對象屬性”命名一個鍵,如:“user:1:friends”存儲 ID 為 1 的用戶的的好友列表。對於多個單詞則推薦使用 “.” 進行分隔。
5.應用:
(1)訪問量統計:每次訪問博客和文章使用 INCR 命令進行遞增;
(2)將數據以二進位序列化的方式進行存儲。
散列類型(Hash)
1.介紹:
散列類型採用了字典結構(k-v)進行存儲。
散列類型適合存儲對象。可以採用這樣的命名方式:對象類別和 ID 構成鍵名,使用欄位表示對象的屬性,而欄位值則存儲屬性值。如:存儲 ID 為 2 的汽車對象。
2.命令:
3.命令測試:
圖:簡單的命令測試
4.應用:
(1)文章內容存儲:
列表類型(List)
1.介紹:
列表類型(list)可以存儲一個有序的字元串列表,常用的操作是向兩端添加元素。
列表類型內部是使用雙向鏈表實現的,也就是說,獲取越接近兩端的元素速度越快,代價是通過索引訪問元素比較慢。
2.命令:
3.命令測試:
【解析】向列表的左邊添加元素“1”,再依次加入“2”、“3”
然後:
在列表的右邊依次加入兩個元素“0”、“-1”:
4.應用:
(1)顯示社交網站的新鮮事、熱門評論和新聞等;
(2)當隊列使用;
(3)記錄日誌。
集合(Set)
1.介紹:
字元串的無序集合,不允許存在重覆的成員。
多個集合類型之間可以進行並集、交集和差集運算。
2.命令:
3.圖解交、並、差集:
4.命令測試:
5.應用:
(1)文章標簽。
有序集合(SortedSet)
1.介紹:
在集合類型的基礎上添加了排序的功能。
2.命令:
3.命令測試:
4.應用:
(1)點擊量排序
其它命令
1.獲得符合規則的鍵名列表
KEYS pattern
pattern 支持 glob 風格通配符:
2.判斷一個鍵是否存在
EXISTS key
如果鍵存在則返回整數類型 1,否則返回 0
3.刪除鍵
DEL key [key ...]
可以刪除一個或者多個鍵,返回值是刪除的鍵的個數
4.獲得鍵值的數據類型
TYPE key
這裡只是進行了一些命令的整理,具體的使用很多時候還是需要自己進行到官方文檔進行學習和搜索。
系列
《Redis 小白指南(一)- 簡介、安裝、GUI 和 C# 驅動介紹》
《Redis 小白指南(二)- 聊聊五大類型:字元串、散列、列表、集合和有序集合》
《Redis 小白指南(三)- 事務、過期、消息通知、管道、優化記憶體空間》
【博主】反骨仔
【原文】http://www.cnblogs.com/liqingwen/p/6919308.html
【GitHub】https://github.com/liqingwen2015/Wen.Helpers/blob/master/Wen.Helpers.Common/Redis/RedisHelper.cs
【參考】《Redis 入門指南》