Zwischenspeichern von Objekten, die aus einer MySQL-Datenbank erstellt wurden

Ich schreibe eine Serveranwendung, die eine Menge von MySQL-Abfragen pro Sekunde ausführen muss, die von verbundenen Clients ausgelöst werden, und frage mich, was neben einer gut strukturierten Datenbank der beste Weg wäre, um die Leistung zu verbessern.

Meine Idee war, einige der Daten zwischenzuspeichern und nur die zwischengespeicherten Daten zu senden, anstatt eine neue Abfrage durchzuführen. Genau wie eine Datenbank unterschiedliche Tabellen hat, müsste der Cache mit diesen unterschiedlichen "Strukturen" (Objekten) umgehen. Da die mit dem Server verbundenen Clients indirekt in der Lage sind, die Daten zu ändern, muss ich in der Lage sein, die zwischengespeicherten Daten zu bearbeiten (und irgendwann meine Datenbank zu aktualisieren, dies sollte jedoch nicht allzu schwierig sein). Hier eine kurze Liste dessen, was ich tun muss:

Bearbeiten Sie die zwischengespeicherten Daten / ObjekteLöschen Sie alte Daten / Objekte und fügen Sie neue Daten / Objekte hinzuordne die Daten nach einer Priorität (zuletzt verwendet)Identifizieren Sie die Daten anhand einer ID

Ich dachte, entweder ein Vektor oder eine Warteschlange / priority_queue wäre eine gute Idee. Auf diese Weise könnte ich für jede Tabelle / jedes Objekt, das ich zwischenspeichern möchte, eine Warteschlange oder einen Vektor erstellen (habe keine Tests durchgeführt, da ich mehr Meinungen einholen wollte, bevor ich meine Zeit verschwenden könnte). Das größte in diesen Caching-Strukturen gespeicherte Objekt wäre etwa 1 Kilobyte (wahrscheinlich kleiner) und das kleinste möglicherweise 96 Bytes.

Pro Caching-Struktur müsste ich nicht mehr als 50.000 Objekte speichern und ich denke, ich könnte mit 10 verschiedenen Strukturen arbeiten (jeder für einen anderen Objekttyp).

Der wichtigste Teil ist die Geschwindigkeit, sonst könnte ich nur die Abfragen durchführen. Es ist nicht nur so, dass ich die Abfragen durchführen müsste, sondern anschließend auch ein neues Objekt erstellen müsste, anstatt das alte Objekt einfach wiederzuverwenden oder erneut zu senden.

Also hier ist meine Frage:

Was wäre der beste Weg, um die Daten / Objekte basierend auf den bereitgestellten Informationen zwischenzuspeichern UND WARUM?

Bearbeiten: Oh, und wenn ich Strukturen meine, meine ich nicht Struktur, dann wusste ich einfach nicht, wie ich mich auf die Vektorwarteschlangen-Map usw. beziehen sollte. Vielleicht wäre der Container besser gewesen :).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage