MemCached文档提到数据分布在节点之间。这就是他们对分布式缓存的定义。如果节点 A 需要节点 B 上的数据,则数据从 B 传输到 A。如果 A 崩溃,则存储在 A 上的所有数据都不再可供 B 使用。
但是,EhCache 对分布式缓存有不同的定义。基本上,它更像是共享内存而不是分布式缓存。如果节点 A 修改了一些数据,节点 B 将看到该修改。如果 A 崩溃,存储在共享内存中的任何数据 A 仍然可供节点 B 使用。
这让我想到了两个问题:
如果我有 3 个节点 A、B、C,每个节点都有 1GB 内存,那么 MemCached 似乎会将内存加起来,使其看起来总共有 3GB 内存用于节点。但是,EhCache 似乎没有添加 3 GB,而是允许每个节点之间最多 1 GB 的共享内存。它是否正确?
如果对 1. 的回答是肯定的,那么得出 EhCache 和 MemCached 实际上是互补而非竞争的结论是否正确?