一、下载

下载这个困扰我好几天,搜索由于redis并没有window版本,所以要找微软的版本https://github.com/MSOpenTech/redis/releases,可是一直下载不了,让人很郁闷。今天终于找到了一个能下载的。https://github.com/ServiceStack/redis-windows,这里我下载的是64位的。

二、解压

我把文件下载放在的D盘,解压之后会有如下的几个文件

redis-benchmark.exe         #基准测试

redis-check-aof.exe         # aof

redischeck-dump.exe        # dump

redis-cli.exe               # 客户端

redis-server.exe            # 服务器

redis.windows.conf          # 配置文件

C# 项目使用 ServiceStack类库访问Redis

三、运行服务和客户端

原本打算把redis的字符串也写进来,不过今天时间不早了,就先运行下作个测试吧。先以管理员的身份启动redis-server,然后启动redis-cli。

C# 项目使用 ServiceStack类库访问Redis

C# 项目使用 ServiceStack类库访问Redis

四、小测试

为了有了大概的印象,下面使用命令行对string类型的mykey做了几个操作,如下图,设置value,通过key获取value,追加值,获得长度,删除key的操作,具体string的操作会放在下一博客具体了解,今天就到此为止,了解个大概。更多关于redis的功能也会进我所能的放到博客里。

C# 项目使用 ServiceStack类库访问Redis

五、详细学习的话进入https://www.runoob.com/redis/redis-lists.html

六、.net项目使用本人使用 ServiceStack,以下是转载大神的**方法

GIthub地址:https://github.com/search?q=ServiceStack&type=Repositories

 

ServiceStack 4.0 开始已经成为商业产品,不再完全免费,好在是开源的,主要限制免费配额功能在ServiceStack.Text类库下的LicenseUtils.cs文件中,仅需从GitHub上下载源码后添加一行代码重新编译即可解除限制,如下图:

 

C# 项目使用 ServiceStack类库访问Redis

 

在.net里我们操作Redis常用的组件就是ServiceStack.Redis了,但是这个从4.0版本后开始商业化了,我们在使用的时候, 会有很多限制:

1.类型限制,

类型限制是20,这个组件自带序列化功能, 使得我们可以直接把对象保存到Redis库里, 但是我们保存类型复杂的时候, 就会有这个限制来报错.

这个在使用中问题不大,不会影响大的使用.我们可以在操作前,先把对象用其他工具比如Newtonsoft序列化成string字符串, 这个问题就解决了.

下面讲讲另一个非常影响使用的限制.

2.每小时访问次数限制

这个组件每小时默认访问次数是6000次的限制,这个在一个稍微大一点的项目里, 没几分钟就够了, 除非购买license或者降低版本使用,降低版本不考虑了,

现在说说怎么解决6000次限制的问题

C# 项目使用 ServiceStack类库访问Redis

通过上图知道, 这个变量是用来保存访问次数限制的

下面我们要做的就是把这个值改大一些, 直接改成int 的最大值

首先我们以16进制来打开该文件, 然后查找6000对应的值,从上图我们知道 这个是int类型存储的, int 是实用的4个字节来存储的 ,

我们把6000转换成字节形式是 70 17 00 00,

如下图

C# 项目使用 ServiceStack类库访问Redis

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

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

从ILSPY里我们可以看到,这个最大限制值已经变了.

C# 项目使用 ServiceStack类库访问Redis

接下来我们在看看实际实用的情况:

C# 项目使用 ServiceStack类库访问Redis

如图所示 从0到10000循环, 没有抛异常提示.

 

 

原文地址:https://www.cnblogs.com/qitianshuye/p/8618227.html

 

解决ASP.NET中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.net to upgrade to a commercial license. 
C# 项目使用 ServiceStack类库访问Redis

经过详细查询在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工具包管理器-》程序包管理器控制台。

C# 项目使用 ServiceStack类库访问Redis

 
  1. 2.在下方出现的命令行中输入如下命令:

  2. Install-Package ServiceStack.Redis -Version 3.0

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

C# 项目使用 ServiceStack类库访问Redis

C# 项目使用 ServiceStack类库访问Redis

3.命令行中显示成功降低版本。 
然后进行测试,详细的搭建方法请见上两篇文章

http://blog.csdn.net/u010533180/article/details/52784696 
http://blog.csdn.net/u010533180/article/details/52805792

降低版本后可能出现如下的问题: 
C# 项目使用 ServiceStack类库访问Redis

修改的代码如下:

 
  1. /// <summary>

  2. /// 3.5以下版本的配置

  3. /// </summary>

  4. private RedisClient RedisSessionClient

  5. {

  6. get

  7. {

  8. if (!string.IsNullOrEmpty(redisCfg.RedisPassword))

  9. {

  10. return new RedisClient( redisCfg.RedisServer, redisCfg.RedisPort) { Password=redisCfg.RedisPassword};

  11. }

  12. return new RedisClient(redisCfg.RedisServer, redisCfg.RedisPort);

  13. }

  14. }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

经过测试的效果图如下: 
C# 项目使用 ServiceStack类库访问Redis

C# 项目使用 ServiceStack类库访问Redis

C# 项目使用 ServiceStack类库访问Redis

C# 项目使用 ServiceStack类库访问Redis

相关文章:

  • 2021-06-02
  • 2022-02-19
  • 2022-03-06
  • 2022-01-29
  • 2021-05-22
  • 2021-08-19
  • 2022-12-23
  • 2021-09-11
猜你喜欢
  • 2022-12-23
  • 2022-02-12
  • 2022-12-23
  • 2021-08-03
  • 2022-12-23
  • 2021-12-14
  • 2022-02-07
相关资源
相似解决方案