Sagen wir, ich habe ein Array von Memcache-Server, der Memcache-Client wird sicherstellen, dass der Cache-Eintrag nur auf einem einzigen Memcache-Server ist und alle Clients diesen Server immer nach dem Cache fragen Eintrag ... richtig?Verteilter Cache mit doppelten Cache-Einträgen auf verschiedenen Hosts
Nun sind zwei Szenarien vor:
[1] Web-Servers werden immer viele verschiedene Anfrage (verschiedene URLs), dann wird der Cache-Eintrag unter dem memcache Server und Anforderung wird auffächern zu memcache Cluster verteilt werden.
In diesem Fall funktioniert die Memcache-Strategie, um den einzelnen Cache-Eintrag auf einem einzelnen Server zu halten.
[2] Web-Server bekommen viele Anfragen für dieselbe Ressource, dann werden alle Anfragen vom Webserver auf einem einzelnen Memcache-Server landen, was nicht erwünscht ist.
Was ich suche ist die verteilte Cache, in dem:
[1] Jeder Web-Server kann die Cache-Knoten zu verwenden, um Cache-Material angeben.
[2] Wenn ein Webserver einen Cache ungültig macht, sollte der Cache-Server ihn von allen Caching-Knoten ungültig machen.
Kann Memcache diesen Anwendungsfall erfüllen?
PS: Ich habe nicht Tonnen von Ressourcen zu cachen, aber ich habe kleine Anzahl von Ressourcen mit viel Verkehr für eine einzelne Ressource auf einmal.