0

我正在使用 couchbase memcached 存储桶来替代我们旧的 memcached 缓存。我在同一个集群上也有一个沙发底座桶。

集群有两个节点,我使用的配置非常基本。

<couchbase>
    <CouchBaseBucket>
      <servers bucket="CouchBaseBucket" bucketPassword="password">
        <add uri="http://10.100.10.97:8091/pools"/>
        <add uri="http://10.100.10.98:8091/pools"/>
      </servers>
    </CouchBaseBucket>
    <MemcachedBucket>
      <servers bucket="MemcachedBucket" bucketPassword="password">
        <add uri="http://10.100.10.97:8091/pools"/>
        <add uri="http://10.100.10.98:8091/pools"/>
      </servers>
    </MemcachedBucket>    
  </couchbase>

(多桶配置是根据此处的Couchbase multiple buckets in .NET app.config中的 SO 帖子完成的)

问题是我并不总是对我刚刚插入的条目进行缓存命中(但有时我会这样做)。整个存储桶只有 2 个可用 GB 中的 4-5 个项目,键值对由一个 20 个字符的键和一个 Guid 值组成,因此驱逐应该不是问题。

当我在只有一个主机的测试设置中尝试这个时,我从来没有遇到过这个问题,所以我怀疑这可能与 NodeLocator 有关,但是它应该是默认的 KetamaNodeLocator,因为我没有在配置。

我使用的客户端是 Couchbase .NET 客户端库,Assembly 版本 1.1.6.0,我的服务器是 couchbase server 1.8.1

有什么想法可能是错的吗?

4

1 回答 1

0

已解决,与多台主机无关。嗯……差不多。

问题是其中一位主持人的时钟在未来两个小时后关闭。#我的天啊

我认为这对 Couchbase 来说是个问题,因为它假设/要求所有涉及的服务器(运行服务器的服务器和运行客户端的服务器)必须同步时钟。

无论如何,也许这可以节省一些可怜的灵魂几个小时的调查

于 2012-11-19T15:37:49.960 回答