VB.NET Unknown reply on integer response VB.NET redis异常及ServiceStack.Redis对多线程的支持

VB.NET UnkNown reply on integer response

VB.NET redis异常及ServiceStack.Redis对多线程的支持


最近在项目中加入了redis,不过遇到了很多redis的异常错误,主要原因在vb.net多线程中Redis操作的时候出现的异常,如 最多的就是UnkNown reply on integer response: 4211,sPort: 1620,LastCommand:

这个可能是对ServiceStack.Redis对多线程的支持的不理解造成的


不由怀疑

这玩意到底支持多线程不哦...

然后详细看了下ServiceStack.Redis的文档

然后发现一个惊天的秘密:

这坑爹的ServiceStack.Redis不支持我们传统认为的线程安全啊


ServiceStack.Redis对多线程采用的是连接池

也就是说:

一个线程可以从连接池里获取一个连接供本线程使用

在使用完毕过后还回给连接池

这样来保证每一个线程使用的Redis连接都是独立的而不会互相干扰

这就是ServiceStack.Redis所谓的ThreadSafe Access

ServiceStack.Redis就是这样来保证线程安全的...


坑爹呢这是...

我们传统意义的线程安全可是多个线程并发访问一个对象啊

而不是多个线程访问不同的对象啊...

都怪我学艺不精啊...

竟然不知道还有这种ThreadSafe Access啊...

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...