Frage

I memcache bin mit einem Cache für die Modellschicht einer Web-Anwendung zu entwerfen, zu einer meiner größten Probleme ist die Datenkonsistenz. Es kam mir in den Sinn Caching von Daten wie folgt aus: (Key = Abfrage, Wert = Liste der Objekt-IDs Ergebnis der Abfrage) für jede ID der Liste: (Key = object.id, value = Objekt)

So wird jedes Mal, wenn eine Abfrage durchgeführt: Wenn die Abfrage bereits vorhanden abrufen ich die Objekte in der Liste aus dem Cache signalisiert. Wenn dies nicht der Fall, werden alle Objekte der Listen im Cache gespeichert werden, andere alte Wert zu ersetzen.

Hat jemand diese Alternative zu verwenden, ist es Gott? andere Ideen?

War es hilfreich?

Lösung

Caching ist eines jener Themen, bei denen es keine richtige Antwort ist - es auf Ihrer Domain depends

.

Die Caching-Richtlinie, die Sie beschreiben, kann für Ihre Domain ausreichend sein. Allerdings scheinen Sie nicht über veraltete Daten besorgt zu werden. Oft würde ich erwarten, einen Zeitstempel gegen einige der Entitäten zu sehen -. Wenn der zwischengespeicherte Wert ist älter als irgendein System definiert Parameter, dann wäre es abgestanden und wieder geholt betrachtet werden

Für weitere Diskussion über Caching-Algorithmen finden Sie unter Wikipedia (für den Anfang)

Andere Tipps

Willkommen in der Welt der Parallelität Programmierung. Sie werden ein wenig über mutual exclusion lernen wollen. Wenn Sie uns mitteilen, welche Sprache / Plattform, die Sie entwickeln sich für uns insbesondere Optionen beschreiben kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top