如何在C#Asp.Net MVC使用Redis緩存


為什么要在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

 


免責聲明!

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



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