内存缓存的客户端可以将关键数据分发到多个实例吗?

时间:2019-02-07 22:19:42

标签: java memcached spymemcached

在对多个Memcached实例进行测试期间,我意识到spymemcached Java客户端正在将关键数据均匀分布在配置的实例中。我知道memcached是分布式的,但是有没有一种方法可以配置客户端以将密钥数据写入所有已配置的实例?我知道这样的内存缓存方法并非旨在取代持久性存储(DB),但我对持久性存储的需求为零,并且需要一种轻量级的方法来在我的两个或多个服务实例之间同步基本键/值数据。

我原型化的测试Java代码效果很好,我觉得spymemcached API可以很好地集成,但是我需要在memcached实例之间复制数据。我假设如果指定了多个MC实例,则数据将分配给所有人,而不是分配给所有可用人。谢谢。

1 个答案:

答案 0 :(得分:1)

有一些Memcached客户端允许在多个Memcached服务器之间复制数据。据我所知,SpyMemcached不是其中之一。

但是我不明白为什么要这么做。轻量级同步无需复制也可以正常工作。通常,Memcached客户端(包括SpyMemcached)使用一致的哈希从密钥到服务器进行映射,因此服务的每个实例都将在同一服务器上寻找密钥。