memcached - 为什么 memcached 不能跨节点同步

标签 memcached distributed-caching

在 memcached 概述中 here

它说:

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,那么我正在从一个陈旧的缓存中读取。

最佳答案

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

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

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

关于memcached - 为什么 memcached 不能跨节点同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18241807/

相关文章:

php - 我需要 memcached 和 Opcache 吗?

mongodb - 使用 mongodb 作为 infinispan 缓存存储的异常

java - 水平缩放中的预算上限

memcached - BlogEngine .Net 负载平衡两台服务器和一个数据库

multithreading - Memcached get 和 put 方法是线程安全的吗

php - Magento - 后端 - 尝试查看订单时出错

php - 从内存缓存中检索数据

hadoop - 作业期间更改了Hadoop分布式缓存对象

c# - AppFabric 缓存服务器和 Web 应用程序在同一台物理机器上

java - HazelcastClient 具有相同 HazelcastItance 的故障转移集群