Wie umgehen Sie die Schlüssel- / Werteinschränkungen von memcached?

Memcached Es gibt Längenbeschränkungen für Schlüssel (250?) und Werte (ungefähr 1 MB) sowie einige (meines Wissens) nicht genau definierte Zeichenbeschränkungen für Schlüssel. Was ist Ihrer Meinung nach der beste Weg, um diese zu umgehen? Ich benutze den Perl API Cache :: Memcached.

Derzeit speichere ich eine spezielle Zeichenfolge für den Wert des Hauptschlüssels, wenn der ursprüngliche Wert zu groß war ("parts: <number>"). In diesem Fall speichere ich <number> -Teile mit Schlüsseln mit dem Namen 1+ <main key> , 2+ <Hauptschlüssel> etc .. Dies scheint in einigen Fällen "OK" (aber chaotisch) zu sein, in anderen nicht so gut, und es besteht das eigentliche Problem, dass einige der Teile jederzeit fehlen könnten (so dass Platz verschwendet wird) die anderen zu behalten und Zeit zu verschwenden, um sie zu lesen).

Was die Schlüsselbeschränkungen angeht, könnte man wahrscheinlich Hashing implementieren und den vollständigen Schlüssel (um Kollisionen zu umgehen) im Wert speichern, aber ich musste dies noch nicht tun.

Hat jemand einen eleganteren Weg gefunden oder sogar eine Perl-API, die beliebige Datengrößen (und Schlüsselwerte) transparent verarbeitet? Hat jemand den Memcached Server gehackt, um beliebige Schlüssel / Werte zu unterstützen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage