VB.NET Unknown reply on integer response VB.NET redis异常及S
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啊... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |