為什么要在Asp.Net MVC項目中使用Redis緩存呢?系統是按照高負載高並發來設計的,這就涉及服務器集群帶來的問題,Session存儲驗證碼或登錄信息,在系統登錄的時候,可能展示登錄界面和存儲驗證碼是一台服務器,登錄驗證的時候又是另外一個服務器,就會造成驗證碼找不到、重復登錄等現象,所以必須系統公用的信息數據存儲在一個地方,所有的服務器都從這個地方獲取,這時我們就要用到Redis了,為什么要用Redis?Redis有什么優點?請自行度娘。下面我跟小伙伴們說說如何在C#Asp.Net MVC使用Redis,希望對遇到同樣問題的小伙伴少走彎路,謝謝。
首先,下載Windows版的Redis3.2.1,官網不提供Windows版本下載,解壓后的文件如下圖,遠程連接我已經配置好了,密碼是123456,運行Redis我也做了一個名為StartUp的批處理文件,就不用每次運行Redis都要進入Dos界面了。

Redis啟動完成
其次,在項目中引用RedisHelper類庫,工具–Nuget程序包管理–管理解決方案的Nuget程序包–聯機,搜索“RedisHelper”,選中下圖紅框選項安裝,我已經安裝了右上角會有個綠色的鈎,安裝過程可能需要10-15分鍾,安裝好之后就變需要配置Redis連接信息,在web.config文件appSetting節點添加主Redis服務器<add key="RedisHostServers" value="123456@127.0.0.1:6379?db=1" />
,從Redis服務器的連接字符串<add key="RedisSlaveServers" value="192.168.0.105:6379?db=1"/>
,其中123456代表密碼,沒有密碼可以把123456@去掉,127.0.0.1:6379是Redis服務的IP和端口,db=1代表那個數據庫。
然后,使用RedisHelper類庫,存儲、獲取、刪除數據,存儲RedisHelper.Set(Key, Value, DateTime)
,DateTime不提供默認是-1,不會過期,如果存儲一樣的Key之前的值會被覆蓋;獲取RedisHelper.Get<T>(Key)
,T是當初存儲是什么類型,如果值不存在返回null;刪除RedisHelper.Remove(key);
最后,安裝redis-desktop-manager查看數據,連接Redis服務器,輸入IP,端口,有密碼輸密碼,沒有密碼留空,測試連接是否連接成功,Redis默認創建16個數據庫,如下圖
文件下載
windows-redis3.2.1 redis-desktop-manager