原文: 解決ASP.NET中Redis 每小時6000次通路請求的問題
雖然ServiceStack v4是商業支援的産品,但我們也允許免費使用小型項目和評估目的。
上面的NuGet包中包含可以使用許可證密鑰解鎖的配額:
- 10 ServiceStack中的操作(即請求DTO)
- OrmLite中的10個資料庫表
- PocoDynamo中的10個DynamoDB表
- Redis用戶端類型API中的20種不同類型
- 使用Redis用戶端每小時6000個請求
C#利用ServiceStack.Redis來操作Redis,它是Redis官方推薦的C#用戶端,性能非常優越,使用也很友善,但是有如下的問題:
每小時隻能通路Redis 6000次
The free-quota limit on ‘6000 Redis requests per hour‘ has been reached. Please see
https://servicestack.netto upgrade to a commercial license.

經過詳細查詢在ServiceStack的官網(
https://servicestack.net/download)上看到了關于這個錯誤的說明:原來ServiceStack v4版本已經逐漸商業化了,普通版每小時隻能通路Redis 6000次,要取消這個限制就要付費或者您也可以往回使用V3版本。
解決方案如下:
解決辦法:
可以使用另外一個性能不錯的StackExchange.Redis或者使用低于4的ServiceStack.Redis版本。
StackExchange.Redis下載下傳位址:
https://github.com/StackExchange/StackExchange.Redis低版本的ServiceStack.Redis下載下傳位址:
https://github.com/ServiceStackV3/ServiceStackV3這裡由于我個人測試使用,變降低了版本。在vs中操作如下:
1.菜單欄-》工具-》NgGet工具包管理器-》程式包管理器控制台。
2.在下方出現的指令行中輸入如下指令:
Install-Package ServiceStack.Redis -Version 3.0
3.指令行中顯示成功降低版本。
然後進行測試,詳細的搭建方法請見上兩篇文章
http://blog.csdn.net/u010533180/article/details/52784696 http://blog.csdn.net/u010533180/article/details/52805792降低版本後可能出現如下的問題:
修改的代碼如下:
/// <summary>
/// 3.5以下版本的配置
/// </summary>
private RedisClient RedisSessionClient
{
get
{
if (!string.IsNullOrEmpty(redisCfg.RedisPassword))
{
return new RedisClient( redisCfg.RedisServer, redisCfg.RedisPort) { Password=redisCfg.RedisPassword};
}
return new RedisClient(redisCfg.RedisServer, redisCfg.RedisPort);
}
}
經過測試的效果圖如下:
上幾篇文章4.5 版本的項目下載下傳位址為:
連結:
http://pan.baidu.com/s/1pKR3VrP密碼: 3anx
自己項目3.0版本的下載下傳位址為:
http://pan.baidu.com/s/1mhZH5Ss密碼: yvkk