我正在使用 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
有什么想法可能是错的吗?