【问题标题】:How to manage memcached servers in php如何在 php 中管理 memcached 服务器
【发布时间】:2012-04-04 11:43:12
【问题描述】:

在 php 中管理 memcache 服务器的最佳方法是什么?我特别担心添加/删除服务器,或者有 1 个失败。

据我了解,如果只是将要取出的服务器的 addServer() 注释掉,就会搞砸整个缓存池。对吗?

目前我正在诉诸于此:

启用:

$memcache_obj->addServer('ip', port, true, 1, 1, 15, true);

已禁用

$memcache_obj->addServer('ip', port, true, 1, 1, -1, false);

这是个好主意吗?

存储内存缓存服务器列表怎么样。我有几台服务器都需要连接到内存缓存池。进行任何更改都需要我编辑所有这些服务器上的配置。

将服务器列表存储在mysql中怎么样?

【问题讨论】:

    标签: php memcached


    【解决方案1】:

    使用 php 的 Memcache 库的两种方法(据我所知):

    • 您使用的方法,如果启用了memcache.allow_failover,它将启用透明故障转移。这样做时,您在禁用服务器时设置的密钥将需要在服务器重新投入生产时重新创建。
    • memcache.hash_strategy 更改为一致。这将使哈希策略受服务器池的影响较小。

    无论哪种方式,从池中禁用或删除服务器都会产生影响,并且在此过程中会丢失一些密钥。

    更多选项可在 php 的 Memcached(注意 d)库中找到(当然,这意味着代码的更改)。

    查看您的php.iniMemcache runtime configuration 以了解您当前的设置。

    附带说明,将服务器列表存储在 mysql 中是一个坏主意。对其进行硬编码的最佳方法。只进行数据库连接和查询以获取服务器列表将让您连接到您的快速存储缓冲区是低效的。缓存应该是一种避免连接和查询数据库的方法。

    【讨论】:

      猜你喜欢
      • 2011-10-16
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多