Redis 小白指南(二)- 聊聊五大類型:字符串、散列、列表、集合和有序集合


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 小白指南(三)- 事務、過期、消息通知、管道、優化內存空間》

  《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 入門指南》

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM