Wenn Sie vorhaben, nur Abfrageergebnisse zwischenspeichern direkt basierend auf Abfrage-String, Mysql Query Cache tut dies bereits für Sie. Erfinde das Rad nicht neu. Der einzige potentielle Unterschied ist, dass Mysqls Abfrage-Cache aggressiv ungültig gemacht wird, so dass veraltete (veraltete, falsche) Daten niemals zurückgegeben werden; Je nachdem, wie Sie mit der Ungültigmachung umgehen, kann Ihre Strategie die Datenbankbelastung weiter reduzieren, jedoch auf Kosten der veralteten, veralteten Daten regelmäßig.
Außerdem können Sie Ihre verschiedenen Cacheschlüssel nicht selektiv ablaufen lassen, wenn Aktualisierungen durchgeführt werden (wie würden Sie wissen, welche Abfragezeichenfolgen abgelaufen sein sollten, wenn eine Einfügung/Aktualisierung ausgeführt wird?); Daher müssen Sie nur eine kurze Ablaufzeit festlegen (wahrscheinlich in Sekunden), um die Zeit zu verkürzen, in der Sie veraltete Daten bereitstellen. Dies wird wahrscheinlich eine niedrige Cache-Trefferrate bedeuten. Am Ende ist die Caching-Strategie, die Sie beschreiben, einfach zu implementieren, aber es ist nicht sehr effektiv.
Stellen Sie sicher, dass Sie die "Generic Design Approaches" section der memecached FAQ lesen. Eine gute Caching-Strategie löscht/ersetzt zwischengespeicherte Daten sofort, wenn Aktualisierungen durchgeführt werden. Auf diese Weise können Sie Daten für Stunden/Tage/Wochen zwischenspeichern und gleichzeitig den Benutzern nie veraltete Daten bereitstellen.
Findest du etwas, das dir hilft? –