2

在此处的 memcached 概述中

它说:

Memcached servers are generally unaware of each other. There is no crosstalk, no syncronization, no broadcasting. The lack of interconnections means adding more servers will usually add more capacity as you expect. There might be exceptions to this rule, but they are exceptions and carefully regarded. 

我在想它如何成为一个分布式系统而不需要在集群中的节点之间进行同步?如果我从我的程序写入节点 1 上的缓存并且我的下一个请求转到节点 2,那么我正在从一个陈旧的缓存中读取。

4

2 回答 2

4

Memcache 不提供与密钥分片、散列、复制、HA、冗余或故障转移相关的功能。

客户库利用某种类型的散列算法在 memcached 服务器集群中分发密钥,但该功能完全独立于 memcached 本身。

有很多客户端库,具体取决于您的目标语言,只需选择一个提供您需要的散列功能的库即可:
http ://code.google.com/p/memcached/wiki/Clients

于 2013-08-15T00:45:50.310 回答
-1

如果您要求 memcache 为键 X 写入缓存,它会将流量发送到分片 h(X),其中 h 将项目映射到它所在的节点。如果你想从缓存中读取一个键 X,同样的,流量会去到分片 h(X),类似地。

于 2013-08-14T20:40:29.670 回答