破解ServiceStack.Redis每小時6000次限制


在.net里我們操作Redis常用的組件就是ServiceStack.Redis了,但是這個從4.0版本后開始商業化了,我們在使用的時候, 會有很多限制:

1.類型限制,

類型限制是20,這個組件自帶序列化功能, 使得我們可以直接把對象保存到Redis庫里, 但是我們保存類型復雜的時候, 就會有這個限制來報錯.

這個在使用中問題不大,不會影響大的使用.我們可以在操作前,先把對象用其他工具比如Newtonsoft序列化成string字符串, 這個問題就解決了.

下面講講另一個非常影響使用的限制.

2.每小時訪問次數限制

這個組件每小時默認訪問次數是6000次的限制,這個在一個稍微大一點的項目里, 沒幾分鍾就夠了, 除非購買license或者降低版本使用,降低版本不考慮了,

現在說說怎么解決6000次限制的問題

通過上圖知道, 這個變量是用來保存訪問次數限制的

下面我們要做的就是把這個值改大一些, 直接改成int 的最大值

首先我們以16進制來打開該文件, 然后查找6000對應的值,從上圖我們知道 這個是int類型存儲的, int 是實用的4個字節來存儲的 ,

我們把6000轉換成字節形式是 70 17 00 00,

如下圖

我們直接修改該位置就行了,把 70 17 00 00 替換成 FF FF FF 7F,也就是int的最大值2147483647

然后把這個文件另存一下, 就可以直接使用了,

從ILSPY里我們可以看到,這個最大限制值已經變了.

接下來我們在看看實際實用的情況:

如圖所示 從0到10000循環, 沒有拋異常提示.

 


免責聲明!

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



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