2015年4月7日 星期二

使用Azure的Redis Cache上手紀錄…基礎篇

 

若要開始使用我們前一篇在Azure上所建立好的Redis Cache服務,當然就是趕緊打開Visual Studio來建立一個"ASP.NET Web 應用程式"了~~

在Visual Studio新增專案對話窗的專案範本當中,選擇"Web",接著點選"ASP.NET Web應用程式"。

image

由於小弟我主要是要展示Web API應用服務跟Redis Cache的界接使用,所以在這邊我們選擇"Empty”,並且只勾選"Web API"後,點選確定。

image

接著等待Visual Studio建立專案完畢。

image

而在ASP.NET當中要使用Redis Cache,已經有神人寫好相關的Library放在Nuget讓我們用了,所以接下來我們就只要在我們的ASP.NET Web專案當中加入即可歡樂的撰寫相關的RedisCache的使用程式了。

點選"工具"->"Nuget套件管理員"->"套件管理器主控台"。

image

(小弟我比較喜歡用打指令的方式加入Nuget的Library)

接著在"套件管理器主控台當中"鍵入"Install-Package StackExchange.Redis"。

image

(另有StrongName的Redis的版本,若看倌有需要可自行研究)

就會看到套件自動安裝到該ASP.NET Web專案當中。

image

接下來就可以在ASP.NET當中新增API的Controllor了。

image

新增完畢後,將原本的範例程式碼通通刪除,留下基本Controller的類別架構即可。image

接著在程式碼的using區域,加入StackExchange.Redis這個命名空間。

image

然後就可以透過ConnectionMultiplexer類別來建立相關的Cache連線。

image

(框線當中的程式做法是使用搭配C# 4.0之後的Lazy<T>與DP當中的Singleton手法,若是難以理解,看倌也可以使用最簡單的變數宣告。)

而當中的password可以在Azure的Portal當中,找到之前所建立的rediscache的設定當中找到。

image

image

image

接著再回到Visual Studio當中,在Controller當中繼續加入最基本的HttpGet的Web API,並且透過QueryString來新增或查詢資料相關程式。

首先我們要先加入能增加RedisCache資料的程式碼,由於RedisCache當中是用Key & Value的形式來儲存資料的,所以我們所撰寫的程式要產生Key跟Value的一對資訊。

image

接著再加入讀取RedisCache資料的程式。

image

撰寫完畢後,便可以 Ctrl+F5 執行此ASP.NET專案。接下來利用Fiddler測試我們剛剛撰寫的Web API。但若沒有安裝Fiddler也可以直接使用各家瀏覽器做測試。

在Fiddler的Composer當中,找到網址框網,鍵入我們的增加資料的API網址"http://localhost:7911/api/myredisdemo/?key=key1&data=mydatattest"

image

得到200的回應後,點選該項目,再切過去Inspectors觀看回應資料。

image

的確得到"OK"的回應結果,代表輸入的資料正確的加入到RedisCache當中。

再次切到Fiddler的Composer當中,找到網址框網,鍵入我們的查詢資料的API網址"http://localhost:7911/api/myredisdemo/?key=key1"

image

得到200的回應後,點選該項目,再切過去Inspectors觀看回應資料。

image

看到我們剛剛在新增資料時,所帶入的data值串接寫入的系統時間。

而如果在查詢時所丟入的key值在RedisCache當中找不到資料,則會回傳null的結果。如:"http://localhost:7911/api/myredisdemo/?key=key2”

image

image

(上述的網址當中7911是小弟的測試網站的Port號,可能跟看倌的不同)


完工!!!

下回我們再繼續…

 

參考資料:

Azure - Redis Cache:
http://blog.sanc.idv.tw/2014/08/azure-redis-cache.html

如何使用 Azure Redis 快取:
http://azure.microsoft.com/zh-tw/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/

使用Azure Cache - Redis Cache 加速效能:
http://www.dotblogs.com.tw/jaigi/archive/2015/01/08/148005.aspx

沒有留言:

張貼留言