Speichern von Millionen Schlüsselwerten in Memcached - gute oder schlechte Idee?

9

Ich erwäge, Memcached in Verbindung mit meiner PHP-App zu verwenden, um 5 Millionen Schlüssel / Wert-Paare zu speichern. Mein Ziel ist es, von der DB (in meinem Fall das Dateisystem) hin und her zu gehen. Ich kann 100-500 Zugriffe pro Sekunde auf die Schlüsselwerte haben. Die Schlüsselwerte sind beide MD5's und haben die Form:

%Vor%

Ich bin nicht sicher, wie die Daten gespeichert werden, aber wenn wir 5 million * 16 bytes (keys) + 5 million * 16 bytes (values) multiplizieren, erhalten wir ~ 180MB.

(BEARBEITEN: nach dem Versuch mit einer echten Memcached-Instanz verwende ich 750 MB, um alle Elemente zu speichern.)

Das Dataset ist fest, so dass ich nur davon lesen werde.

Fragen:

  1. Ist das ein gutes oder schlechtes Design?
  2. Kann ich memcached zwingen, die Daten neu zu laden (es sei denn, der Server stürzt ab)? Angenommen, die Speicherkapazität ist höher als die gespeicherten Daten? Wenn nicht, welche Techniken kann ich anwenden, um das gleiche Ziel zu erreichen.

Vielen Dank!

    
JoeSlav 03.10.2017, 08:34
quelle

1 Antwort

0

Erhalten Sie die Leistung, die Sie brauchen? Bestimmt. Memcache ist blitzschnell. Wir speichern etwa 10 Millionen Schlüssel, und wir erreichen Memcache etwa 700 Mal pro Sekunde. Es hat uns nie im Stich gelassen.

Sie können alle Schlüssel in Memcache laden, wenn Sie die Anwendung starten und das Ablaufdatum auf eine sehr lange Zeit setzen. Die Sache, an die Sie sich erinnern sollten, ist, dass Memcache letztlich ein Cache ist. Und es sollte nicht als Speichermodul verwendet werden. Sie müssen es so konzipieren, dass Sie immer die Möglichkeit haben, die benötigten Daten (Schlüssel) nicht zu finden und in diesem Fall einen DB-Aufruf zu machen.

Die Alternative, die Sie eine NoSQL-Datenbank wie Cassandra betrachten können, hat ausgezeichnete Lese-und Schreibgeschwindigkeiten, die auf Ihre Bedürfnisse eingehen sollte. Die einzige Sache ist, dass es etwas schwierig ist, Cassandra im Vergleich zu Memcache fein abzustimmen.

    
pratikvasa 04.10.2017, 05:26
quelle

Tags und Links