您使用哪个.NET Memcached客户端,EnyimMemcached与BeITMemcached?

似乎EnyimMemcached ( https://github.com/enyim/EnyimMemcached )和BeITMemcached ( http://code.google.com/p/beitmemcached/ )都是stream行的.NET Memcached库。 这两个项目都在开发中相当活跃的项目,并有超过一千次下载。 试图找出哪一个使用,但发现竞争的言论! 我读了另外一篇相关的文章,但在做出决定之前,还是想问更多的人。

EnyimMemcached在其项目主页( https://github.com/enyim/EnyimMemcached )上声称,

基于我们未披露的特殊手工内部性能testing,我们是有史以来最快的C#客户端,使用负面的系统资源量,无论是内存还是CPU时间

我们严格遵循memcached的协议规范,即使是memcached的人也问我们是否不明白

虽然BeITMemcached在其项目维基页面上声称( http://code.google.com/p/beitmemcached/wiki/Features )

我们已经对BeIT Memcached客户端进行了广泛的functiontesting和性能testing,我们感到满意的是,它正在按照自己的意图工作。 当我们将性能与其他两个客户端(java端口和Enyim memcached客户端)进行性能对比时,我们的客户端消耗的资源最less,性能最佳。 它还严格遵循memcached协议规范,具有最多memcached特性,并且在实际代码大小上仍然小得多。

那么对于那些有这些或类似的经验的人,你select使用哪一个客户,为什么select你select的客户?

谢谢,

射线。

我们testing了两个,并发现Enyim在我们预期的使用场景中performance最佳:许多(但不是数百万)caching对象,以及数百万caching获取请求(平均网站并发负载= 16-20个请求)。

我们的性能因素是测量从请求到在呼叫服务器的内存中初始化对象的时间。 两个图书馆都能维持这个工作,但是在我们的testing中,enyim客户是首选。

Enyim和BeIT在sysdot.wordpress.com/2011/03/08/memcached-clients-which-ones-best/上进行了比较

Eniym客户端的Store()有时无法正常工作。 发生密钥不在caching中时,大多数情况下在memcached服务重新启动后。 这种结构:

T val = _client.Get<T>(key); if (val == null) { // ... filling val variable ... var result = _client.Store(StoreMode.Add, key, val); // ... result can be false, sometimes ... } 

作品50/50。 T实体是[Serializable]。

我发现Enyim工作得最好。 它很容易使用,可靠和快速:)