ServiceStack.Redis這個官方 Redis 訪問組件從4.0版本后開始商業化了,在使用的時候會有很多限制:
1、類型限制
類型限制是20,這個組件自帶序列化功能,使得我們可以直接把對象保存到Redis庫里,但是我們保存類型復雜的時候,就會有這個限制來報錯。這個在使用中問題不大,不會影響大的使用。我們可以在操作前,先把對象用其他工具比如Newtonsoft序列化成string字符串, 這個問題就解決了。
2、每小時訪問次數限制
這個組件每小時默認訪問次數是6000次的限制,這個在一個稍微大一點的項目里沒幾分鍾就夠了, 除非購買license或者降低版本使用,降低版本不考慮了。網上很多文章都有相差介紹,什么編輯二進制文件、用 dnSpy 編輯dll啦啥的五花八門,反正我試了沒能成功。ServiceStack.Redis它有自己的簽名,改了里面的東西再引用進來編譯不了。
下面說說我是怎么解決6000次限制的問題
第一步:
去官網上下載 ServiceStack.Redis 的源碼,源碼地址:https://github.com/ServiceStack/ServiceStack.Redis
第二步:
RedisClient.cs 文件第 382 行,注釋掉
第三步:
RedisNativeClient_Utils.cs 文件第 401 至 403 行,注釋掉
第四步:
重新編譯,引用,搞定。
技術交流群:816425449