AFAIK, Der Hauptunterschied besteht darin, dass die Sitzung pro Benutzer stattfindet, während der Cache für Elemente mit Anwendungsbereich vorgesehen ist.
Wie in den anderen Antworten angegeben, können Sie Informationen pro Benutzer im Cache speichern, sofern Sie einen Schlüssel angeben (entweder nach Sitzung oder Cookie). Dann hätten Sie mehr Kontrolle, um Elemente im Cache abzulaufen und Abhängigkeiten von ihnen festzulegen. Wenn sich die betreffende Datentabelle regelmäßig ändert, ist das Zwischenspeichern wahrscheinlich eine geeignete Option. Andernfalls ist eine statische Sitzung möglicherweise besser geeignet. Steven Smith hat ein exzellentes Video zum Caching bei dnrtv , das einen Besuch wert ist.
Es hängt wirklich davon ab, was Sie erreichen möchten und wie viel Zeit Sie haben. Es gibt einige andere Alternativen, die Sie in Bezug darauf berücksichtigen sollten, wie Sie den Status in einer Anwendung speichern. Abhängig von der Größe der Tabelle können Sie den Status in einem Cookie speichern (verschlüsselt, wenn es sich um vertrauliche Informationen handelt). Alternativ können Sie ein statisches Feld auf einer Seite oder Klasse verwenden, wenn es sich um anwendungsbezogene Daten handelt. Es gibt auch das Anwendungsobjekt.
Update : Ich denke, die Schlüsselfrage, die Sie sich stellen müssen, ist, wer diese Daten sehen soll.
Are they going to access the data frequently?
(Nein, mach dir keine Sorgen).
Is it going to change?
(Nein, verwenden Sie ein statisches Feld oder eine Anwendung).
Is it acceptable for user a and user b to see the same results?
(Nein, verwenden Sie den Cache mit einem Schlüssel, der aus dem Benutzernamen und dem Suchbegriff besteht.)
(Ja, verwenden Sie den Cache mit einem Schlüssel des Suchbegriffs.)
Ehrlich gesagt, wenn Sie in Ihrer Entwicklung nicht weit sind, würde ich in Betracht ziehen, das Caching- / State-Problem auf einen späteren Zeitpunkt abzustellen - Sie brauchen es möglicherweise nicht einmal.
Die ersten drei Regeln für die Leistungsoptimierung sind: 1. Messen, 2. Messen Sie weitere. 3. Messen Sie erneut ...