我将使用CouchBase作为我的缓存层。我的缓存是序列化对象,而不是(总是)文档类型或JSON值。 couchbase客户端(Couchbase-Java-Client-1.4.3
)也使用Spymemcache jar,它是memcached服务器的客户端。
我的问题是,
Spymemcache
客户端进行缓存怎么办?如果我使用,有什么可能是使用couchbase客户端的优点和结果? Spymemcache客户端可以自行处理服务器节点和节点故障吗?答案 0 :(得分:3)
您不应该将Spymemcached与Couchbase一起使用。你可以,但我建议反对它。首先,CouchbaseClient使用Spymemcached jar,因为Memcached和Couchbase都使用memcached二进制协议进行键值操作。当我们最初开始为Couchbase编写Java客户端时,重新实现已经编写的东西是没有意义的,因此我们使用Spymemcached因为它表现非常好。您可以将Spymemcached视为执行所有基本操作(如发送消息和Couchbase客户端),因为它添加了所有可以轻松使用Couchbase的优秀功能。
如果我使用默认的Spymemcache客户端进行缓存怎么办?
无论您使用哪种客户端,所有内容都会通过缓存,因此无需使用两个不同的客户端。
使用couchbase客户端有什么优点和缺点?
如果您不使用CouchbaseClient,您将使用更原始的东西。这样想吧。 Couchbase花了大约3年的时间为CouchbaseClient添加功能,使Couchbase非常容易使用。 CouchbaseClient将处理拓扑更改并添加Spymemcached没有的操作。
Spymemcache客户端可以自行处理服务器节点和节点故障吗?
不,但是如果您通过Moxi发送流量,那么您将能够处理节点故障。
如果您使用Couchbase,我甚至不会使用Spymemcached。