【问题标题】:Need help with pooling in Memcached在 Memcached 中进行池化需要帮助
【发布时间】:2011-08-19 10:50:43
【问题描述】:

我有一个在多台服务器上运行的 Web 应用程序。我计划在这个应用程序中实现 Memcached,并使用 spymemcached 作为客户端。 我创建了一个 memcached 客户端池。但我不确定从池中借用的客户端是否能够创建多个到 memcached 服务器的连接。

我想要一个客户端池中的客户端可以使用的连接池。 如果这个方法没问题,那我应该如何进行实施呢?否则最好的方法应该是什么?

【问题讨论】:

  • 我对您在这里提出的问题感到有些困惑。目前 Spymemcached 只为每台服务器创建一个连接。您希望能够从单个 MemcachedClient 对象创建到每个服务器的多个连接吗?如果你这样做了,你是在问如何在 Spymemcached 中实现这一点?
  • 我有点困惑,因此你感到困惑。我打算使用 X 个 MemcachedClient 对象来使用 Y 个连接。但发现这是不可能/不可行的。现在,我将在 10 个服务器上使用 X (arnd 40) 个 MemcachedClient 对象。所以,我最多可以有 400 个与服务器的连接。我很困惑,因为我认为一个 MemcachedClient 对象可以通过多个连接连接到 memcached 服务器
  • 目前还不清楚您这样做是为了解决什么问题。仅通过一个连接来衡量您认为拥有多个可以解决的问题是什么?
  • 我认为如果一个客户端可以有多个连接,那么需要创建更少的客户端。这样,我的 tomcat 服务器上将运行更少的线程(因为每个客户端基本上都是一个线程)。但最后发现是不可能的。

标签: java memcached connection-pooling object-pooling spymemcached


【解决方案1】:

但我不确定从池中借用的客户端是否能够创建多个到 memcached 服务器的连接。

没有。

我想要一个客户端池中的客户端可以使用的连接池。如果这个方法没问题,那我应该如何进行实施呢?否则最好的方法应该是什么?

您可以使用commons-pool 作为围绕 spy.memcached 的池化框架。实施见this

【讨论】:

  • 谢谢@sandeep。我上个月已经实现了池化框架。 P4M 在理解和实施概念方面帮助了我很多。
【解决方案2】:

有些人使用 DBCP 来汇集连接。您可以在 github 上查看 3levelmemcache 项目作为示例,它通过 Spring 配置了池。

【讨论】:

    猜你喜欢
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2014-04-23
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多