Wir haben einen Memcached-Cluster, der in der Produktion als Cache-Schicht über MySQL läuft. Jetzt überlegen wir, memcached durch Couchbase zu ersetzen, um das Cold-Cache-Problem (im Falle eines Absturzes) zu vermeiden und diese nette Eigenschaft des verwalteten Cache-Clusters zu haben.Couchbase: Wie Cache-Persistenz eine Option machen?
Gleichzeitig möchten wir die Änderungen auf Couchbase zu minimieren minimieren. Eine Möglichkeit, die wir versuchen können, besteht darin, die libmemcached-API beizubehalten und einen HTTP-Proxy einzurichten, um alle Anfragen an Couchbase zu richten. Auf diese Weise wird im Anwendungscode nichts geändert. Wenn ich das richtig verstehe, ist Couchbase im Grunde ein gemanagter Memcache-Cluster. Wir haben die Persistenz-Cache-Elemente nicht genutzt. Wir können nicht so etwas wie ein gewissen gecached Artikel nachlass persistent sein:
# connect to couchbase like connecting to memcached
$ telnet localhost 11211
SET foo "foo value" # How can we make this item persistent in Couchbase?
Ich nehme an, das liegt daran, dass alle Einzelteile in Memcached Eimern gespeichert sind. Die Frage lautet also:
- Können wir steuern, welche Artikel in Couchbase Eimer oder memcache Bucket gespeichert werden? Müssen wir dazu die libmemcached-API und den damit verbundenen Anwendungscode ändern?
Vielen Dank!
Danke für die Antwort. Wenn wir mit Moxi eine Mischung aus Couchbase (persistent) und Memcache (volatile) Buckets verwenden wollen, müssen wir einige Arten von Proxy-Regeln definieren, um einige Elemente selektiv zu erhalten. Kann das funktionieren? –
Soweit mir bekannt ist, gibt es keine Möglichkeit, dass moxi basierend auf dem Schlüssel entscheidet, in welchem Bucket der Wert zwischengespeichert werden soll. Dies würde einen benutzerdefinierten Proxy erfordern. –