【问题标题】:Java client for memcachedb with replication具有复制功能的 memcachedb 的 Java 客户端
【发布时间】:2012-10-26 15:28:40
【问题描述】:

我有一个主和一个从 memcachedb 服务器。我需要一些 java 客户端来访问 memcache db 有这样的机会:

首先它建立与主服务器的连接。如果 master 失败,slave 应该成为 master 并且 java 客户端应该重新连接到他。在第一台服务器修复后,它们必须在复制中再次工作。

那么,你能帮我为有这种要求的memcachedb选择最好的java客户端吗?

问候,叶甫根尼

【问题讨论】:

    标签: java memcached replication


    【解决方案1】:

    Spring Framework 应该包含通过缓存模块对 memcached 的支持。我知道 EhCache 是支持者。如果您使用 Java,EHCache 可能值得一看,因为它不需要像 memcached 那样的额外安装过程。此外,如果 Spring 没有适配器,提供一个适配器应该很简单,允许您在不更改代码的情况下动态切换缓存实现。

    【讨论】:

    • Spring 不支持开箱即用的 Memcached。要将 memcached 与 Spring Cache 一起使用,您可以尝试我的项目 Simple Spring Memcached
    • @ragnor 根据这个线程groups.google.com/forum/#!msg/simple-spring-memecached/… Simple Spring Memcached 不支持所需的功能。
    • Simple Spring Memcached 只是对 memcached 客户端的抽象,它还允许与 Spring Cache 集成。主/从复制是 memcached 客户端可能支持的功能,因此您应该查看 xmemcached 和 spymemcached 客户端。还有另一种解决方案。您可以尝试将两个 membasedb 服务器隐藏在另一个服务器/服务(如 nginx)后面,以防其中一个服务器发生故障,选择另一个作为主服务器。您的应用程序应该只连接到 nginx 服务器。这只是一个想法。
    【解决方案2】:

    我使用 xmemcached 作为 java 客户端,并有多个 Memcached 服务器并行工作。 (不是主/从( 只是一个问题,当您说 Memcached DB 时,使用 Memcached 的目的是什么?缓存还是数据库?

    【讨论】:

    • 我将同时使用缓存和数据库。我的应用程序有一些热键必须存储在缓存中。如果某个缓存条目长时间未使用,则必须将其保存到数据库中。
    【解决方案3】:

    最后,我还没有找到任何解决方案可以在复制模式下使用多个服务器。因此,如果您想在多个节点上拥有相同的数据,您应该手动添加它。此外,在某些服务器故障的情况下,您应该手动重新连接到另一台服务器。

    如果您找到更好的解决方案,请告诉我。

    问候,叶甫根尼

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2012-05-11
      • 2013-11-23
      • 2017-01-10
      相关资源
      最近更新 更多