2009-02-24 61 views
2

问题:我有一个服务器场,它使用非粘性IP和会话服务器维护所有服务器的会话。因此,客户端返回到哪个服务器并不重要,因为服务器将始终转到会话服务器以获取该客户端的会话数据。当我将会话服务器关闭时,所有服务器都会丢失会话数据。memcached是否有重新分配其缓存的机制?

此问题的解决方案之一是使用SQL Server作为会话服务器。这不幸是不可能的。

所以我在思考Memcached。如果我使用memcached管理会话,那么如果我将其中一个memcached服务器关闭,会话将会丢失。但是,如果我可以针对该服务器发出一个调用,指出“将缓存重新分配给其他服务器”,那么这应该可以解决问题。

如何将服务器上的memcached缓存重新分配给其他服务器?

回答

1

我不确定memcached中有这样的功能。但重点是,它是缓存。如果服务器出现故障或重新启动,可能发生的最糟糕的情况是您得到一些缓存未命中(直到重建)。 Memcached不应该是一个可靠的数据库(尽管有一个基于memcached的数据库) - 你的数据应该保持在一个较低的持久化级别,并且当一个缓存服务器在只要它不会使整个缓存失效并且不会经常发生。

相关问题