Redis客戶端ServiceStack.Redis的簡單使用


在nuget中下載ServiceStack.Redis,但是運行之后會出現一個問題:

Exception: “Com.JinYiWei.Cache.RedisHelper”的類型初始值設定項引發異常。
System.TypeInitializationException: “Com.JinYiWei.Cache.RedisHelper”的類型初始值設定項引發異常。 ---> System.TypeLoadException: 程序集“ServiceStack.Redis, Version=3.9.71.0, Culture=neutral, PublicKeyToken=null”中的類型“ServiceStack.Redis.RedisNativeClient”的方法“get_Db”沒有實現。

查了下原來是版本問題,我的解決方法如下:
修改幾個重要的dll的版本:
<package id="ServiceStack.Common" version="3.9.71" targetFramework="net45" />
<package id="ServiceStack.Redis" version="3.9.71" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.11" targetFramework="net45" />

如果不好下載,使用nuget命令就可以了:
Install-Package ServiceStack.Common -Version 3.9.71

code如下:

using(RedisClient redisClient = new RedisClient("123.207.96.138", 6379))
{
string str = "second";
bool IsSet = false;
if (IsSet = redisClient.Set<string>("second", "www.cjjjs.com"))
{
string getMessage = redisClient.Get<string>(str);
Console.WriteLine(getMessage);
}
else
{
Console.WriteLine("redis鍵入鍵值失敗...");
}

Console.Read();
}

但是有個地方要注意,使用Set函數的時候,因為使用Get<string>來獲取,設置的時候就需要Set<string>來設置,我已開始使用的是Set,導致不能獲取到值,這是要值得注意的地方。

嘗試了一下在兩個不同的站點部署兩個網站,使用redis來存儲數據,的確成功了,這就有點類似於使用數據庫來存儲了,只不過redis這樣的nosql數據庫效率更高。原本我是使用redis來存儲session,但是在跨域方面就是失敗!!!嘗試了兩種實現都不行,參考如下:
 【新手總結】在.Net項目中使用Redis作為緩存服務

《分布式中Redis實現Session終結篇》
以及我的博客:
 asp.net 分布式探討之Session共享問題

哎,后續研究吧,反正一跨域就是失敗。

哎,寢室很煩,很吵,沒有心思寫代碼,寫博客。圖書館沒電!!!這坑比學校,沒有校園網就算了,圖書館還時不時沒電。

 


免責聲明!

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



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