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

在.net裏咱們操做Redis經常使用的組件就是ServiceStack.Redis了,可是這個從4.0版本後開始商業化了,咱們在使用的時候, 會有不少限制:html

1.類型限制,編輯器

類型限制是20,這個組件自帶序列化功能, 使得咱們能夠直接把對象保存到Redis庫裏, 可是咱們保存類型複雜的時候, 就會有這個限制來報錯.工具

這個在使用中問題不大,不會影響大的使用.咱們能夠在操做前,先把對象用其餘工具好比Newtonsoft序列化成string字符串, 這個問題就解決了..net

下面講講另外一個很是影響使用的限制.3d

2.每小時訪問次數限制htm

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

如今說說怎麼解決6000次限制的問題blog

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

下面咱們要作的就是把這個值改大一些, 直接改爲int 的最大值string

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

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

以下圖

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

而後把這個文件另存一下, 就能夠直接使用了,

從ILSPY裏咱們能夠看到,這個最大限制值已經變了.

接下來咱們在看看實際實用的狀況:

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

 

目標文件:ServiceStack.Text.dll

16進制編輯器   https://www.fixdown.com/soft/542.html

搜索文件:70 17 00 00

替換成 FF FF FF 7F

相關文章
相關標籤/搜索