Ich bin ziemlich neu zu Caching-Strategien und Implementierungen. Ich arbeite an einem Projekt, das datenbankintensiv sein wird, aber auch Informationen, die sehr regelmäßig aktualisiert und geändert werden.Caching-Strategie, wann wird Caching sinnlos?
Ich habe genug Informationen gefunden, um allgemein zu wissen, wie man die Caching-Funktion entwickelt, aber was ich unsicher bin, ist die allgemeine Strategie.
Wenn ich alle Abfrageergebnisse zwischenspeichern und sie nach logischen Dingen gruppiere, die ich bei sinnvollen Triggern löschen kann, dann habe ich wahrscheinlich Zehntausende (zumindest) kleine Dateien in meinem Cache. Wäre es sinnvoller, nur große Abfrageergebnisse zwischenzuspeichern?
Ich weiß, dass dies eine etwas hardware-spezifische Frage ist, aber allgemein gesprochen, bei welchem Umfang von Dateien wird Caching etwas sinnlos? Das heißt, wenn Sie das Dateisystem mit all diesen kleinen Dateien laden, wird der Zugriff auf sie schließlich langsam genug, so dass Sie die Informationen nicht einfach zwischengespeichert haben könnten?
Dank all, ich habe Interesse an irgendwelchen Meinungen Sie
EDIT zu bieten haben: Auf der Grundlage der Antworten in Bezug auf diese absolut ist anwendungsspezifisch, lassen Sie mich die Frage auf diese Weise darstellen, die universell sein sollte:
Angenommen, ich habe eine Anwendung, die von einer Tabelle mit 1.000.000 Elementen abhängt ...
Wäre es schneller, eine Abfrage auszuführen, um eines dieser Elemente direkt aus der Datenbank abzurufen oder eines dieser Elemente abzurufen aus meinem Cache-Verzeichnis mit 1.000.000 Dateien, von denen jede die Details eines dieser Dateien enthält e Gegenstände?
EDIT: Anscheinend 100.000 war nicht genug, um eine gültige Antwort zu erhalten, machen wir es 1.000.000. Will jemand für 1.000.000.000 gehen? Weil ich es kann ...
Da Sie nach den Meinungen von Personen fragen und keine Lösung besser ist als eine andere (zumindest nicht ohne Angabe Ihrer Anforderungen und des Anwendungsfalls), könnten Sie dies in ein Community-Wiki ändern. – mikegreenberg
@Michael - Mein Anwendungsfall oder meine Anforderungen sind nicht so spezifisch. Ich frage nur, ob ich, wenn ich jedes kleine Stück Information in Dateien zwischenspeichern werde, irgendwann die reine Menge von Dateien den Leistungsgewinn von Caching in erster Linie verschlechtert? – Chris
Mysql sollte und kann auf so winzigen Volumes wie 100k Zeilen extrem schnell arbeiten. Sie haben also genügend Leistungsreserven, um nicht zum Cache-Maniac zu werden. – zerkms