首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >memcached客户端:打开、关闭和重用连接

memcached客户端:打开、关闭和重用连接
EN

Stack Overflow用户
提问于 2011-12-30 19:20:48
回答 1查看 7.3K关注 0票数 10

我一直在测试间谍和xmemcached客户端。我一直试图在项目文档中找到答案,但它非常糟糕。

我的问题是关于打开、关闭和重用连接。我在一份文件中找到了这个:

客户机可能会在它不再需要它的任何时候关闭连接。但是,请注意,鼓励客户端缓存它们的连接,而不是每次需要存储或检索数据时重新打开它们。缓存连接将消除与建立TCP连接相关的开销“。

Spymemcached不提供连接池,所以每次创建MemcachedClient实例时,我都要创建一个新的连接,对吗?那我什么时候应该关闭连接?是向我的应用程序中的所有线程提供相同的实例,还是每次创建一个新的实例?

xmemcached确实有一个连接池。在这种情况下,我应该关闭从池中获得的连接吗?

EN

回答 1

Stack Overflow用户

发布于 2011-12-31 19:34:50

Spymemcached不提供连接池,所以每次创建MemcachedClient实例时,我都要创建一个新的连接,对吗?

是的,每次创建新的MemcachedClient对象时,都会创建一个新的连接。对于应用程序来说,每个连接看起来都是异步的,所以即使有一个连接,对应用程序来说也可能足够了。然而,有些人确实构建了一个MemcachedClients连接池。

,那么我什么时候应该关闭连接?

一旦不再需要与memcached通信,就关闭了连接。如果应用程序使用时间较短,则需要关闭连接,以使jvm停止,因为默认情况下,MemcachedClient连接是守护进程连接。

是应该向我的应用程序中的所有线程提供相同的实例,还是每次创建一个新的实例?

对多个线程使用相同的连接。为每个调用创建一个新连接将导致性能显著下降,因为创建TCP连接的开销很大。

xmemcached确实有一个连接池。在这种情况下,我应该关闭从池中获得的连接吗?

我不熟悉xmemcached,但我可以想象您只想创建几个(可能是16个)线程,并与您的应用程序线程共享它们,以获得最佳性能。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8683142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档