Caching vs Indizierung

Was ist der wahre Unterschied zwischen einer Caching-Lösung und einer Indexing-Lösung? Es scheint mir, dass eine Indizierungslösung tatsächlich Caching mit der Möglichkeit zum Ausführen von Suchabfragen (wie z. B. Elastic Search) ist. Gibt es jemals einen wirklichen Grund, im selben Projekt sowohl eine Caching-Lösung als auch eine Indexing-Lösung zu verwenden, oder macht die Indexing-Lösung grundsätzlich ein anderes Caching überflüssig?

Beispiel: Angenommen, ich verwende NEST für ElasticSearch, um POCOs zu speichern und zurückzugeben. Wenn ich dann ElasticSearch abfrage und das POCO an mich zurücksende, wird dies nicht als Verwendung eines von ElasticSearch zurückgegebenen zwischengespeicherten Objekts angesehen?

m Moment speichere ich Daten in einem Cache über eine ICacheManager-Schnittstelle, die ich hab

return CacheManager.Get(cacheKey, () =>
{
    // return something...
});

Wäre dies mit ElasticSearch überflüssig?

BEARBEITE

ielen Dank an alle für die Antworten. Ich bin mir voll und ganz bewusst, was ein Cache ist, und habe bereits die allgemeine Idee hinter einem Index für die Textsuche verstanden. Daher habe ich mich nur wirklich gefragt, ob der Index bereits als Cache fungiert und daher jeden anderen Cache überflüssig machen würde. Immerhin möchte ich nicht 2 Caches im Speicher behalten (Beispiel: ElasticSearch + Redis), wenn man das tun würde. Ich glaube, ich habe jetzt eine bessere Idee. vor allem, als mir klar wurde, dass nicht immer alle Felder im Index gespeichert sind und wir das Objekt daher aus einem Cache oder direkt von der Datenbank abrufen müssen - zumindest in einigen Fällen. Vielen Dank an alle!

Antworten auf die Frage(6)

Ihre Antwort auf die Frage