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