一、課程介紹 今天阿笨給大家帶來一堂NOSQL的課程,本期的主角是Redis。希望大家學完本次分享課程後對redis有一個基本的瞭解和認識,並且熟悉和掌握 Redis在.NET中的使用。本次分享課程包含以下知識點: 1、StackExchange.Redis (簡稱:SE)驅動在C#中Redis幾種 ...
一、課程介紹
今天阿笨給大家帶來一堂NOSQL的課程,本期的主角是Redis。希望大家學完本次分享課程後對redis有一個基本的瞭解和認識,並且熟悉和掌握 Redis在.NET中的使用。本次分享課程包含以下知識點:
1、StackExchange.Redis (簡稱:SE)驅動在C#中Redis幾種數據結構學習和使用。
2、ServiceStack.Redis ( 簡稱: SS) 驅動在C#中Redis幾種數據結構學習和使用。
3、Redis主從集群伺服器搭建和學習。
4、在ASP.NET中Redis如何進行Session托管。
5、在C#中如何使用Redis的生產者/消費者。
6、在C#中如何使用Redis的發佈/訂閱功能。
7、在C#中如何使用Redis的事務、鎖。
如果您同樣對本次分享《.NET分散式緩存Redis從入門到實戰》課程感興趣的話,那麼請跟著阿笨一起學習吧。
廢話不多說,直接上乾貨,我們不生產乾貨,我們只是乾貨的搬運工。
二、概念名稱含義解釋
2.1、什麼是Redis?
Redis是一個開源的,使用C語言編寫,面向“鍵/值”對類型數據的分散式NoSQL資料庫系統,Redis純粹為應用而產生,它是一個高性能的key-value資料庫,特點是高性能,持久存儲,適應高併發的應用場景,並且提供了多種語言的API。
Redis官網:https://redis.io/
多語言客戶端驅動下載:https://redis.io/clients
2.2、Redis特點
Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value資料庫。 與其他 key - value 緩存產品有以下三個特點:
● Redis支持數據的持久化,可以將記憶體中的數據保存在磁碟中,重啟的時候可以再次載入進行使用。
● Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
● Redis支持數據的備份,即master-slave模式的數據備份。
三、Redis For Windows安裝手冊
3.1、Redis 在Windows系統上的安裝
官網只提供linux版本的下載官網下載地址:http://redis.io/download
windows 版本的github下載地址:https://github.com/MSOpenTech/redis/tags
推薦大家下麵幾個學習Redis的網站:
Redis中文網:http://www.redis.net.cn/
可以線上編寫Redis指令的網站:http://try.redis.io/ http://doc.redisfans.com/
3.2、Redis伺服器主從集群的搭建
四、Redis幾種數據結構
1、String( 字元串 )
這是最簡單的Redis類型。如果只使用這種類型,Redis就像一個可持久化的Memcached伺服器。
2、List(列表)
Redis的List是基於雙向鏈表實現的,可以支持反向查找和遍歷。
常用案例:聊天系統、社交網路中獲取用戶最新發表的帖子、簡單的消息隊列、新聞的分頁列表、博客的評論系統。
3、Hash( 哈希 )
Hash是一個String類型的field和value之間的映射表,請見下圖,類似於.NET中的Hashtable和Dictionary。主要用來存儲對象,可以避免序列化的開銷和併發修改控制的問題。
4、Set( 集合 )
Set也是一個列表,不過它的特殊之處在於它是可以自動排重的:當需要存儲一個列表數據,而又不希望出現重覆的時候,Set是一個很好的選擇(比如ID的集合)。並且Set提供了判斷某個成員是否在一個Set集合內的介面,這也是List所沒有的。
5、Sorted Set(有序集合)
Sorted Set和Set的使用場景類似,區別是Sorted Set會根據提供的score參數來進行自動排序。當你需要一個有序的並且不重覆的集合列表,那麼就可以選擇Sorted Set數據結構。常用案例:游戲中的排行榜。
五、Redis應用場景介紹
六、Redis在.NET中的使用
六、Redis實戰演練分享
1、StackExchange.Redis (SE)驅動在C#中Redis幾種數據結構學習和使用。
2、ServiceStack.Redis (SS) 驅動在C#中Redis幾種數據結構學習和使用。
3、 Redis主從集群伺服器搭建和學習。
4、在ASP.NET中Redis如何進行Session托管。
5、在C#中如何使用Redis的生產者/消費者。
6、在C#中如何使用Redis的發佈/訂閱功能。
7、在C#中如何使用Redis的事務、鎖。