Qual è la vera differenza tra una soluzione di caching e una soluzione di indicizzazione? Mi sembra che una soluzione di indicizzazione stia effettivamente memorizzando nella cache la possibilità di eseguire query di ricerca (come: Elastic Search). Sarebbe mai esistito un vero motivo per utilizzare sia una soluzione di caching e una soluzione di indicizzazione all'interno dello stesso progetto o la soluzione di indicizzazione fondamentalmente rende ridondante qualsiasi altro caching?Caching vs Indexing
Esempio: suppongo di utilizzare NEST per ElasticSearch, che memorizzerebbe e restituirà POCO; se faccio una query su ElasticSearch e mi viene restituito il POCO, non è considerato l'utilizzo di un oggetto memorizzato nella cache restituito da ElasticSearch?
Al momento, ho memorizzare i dati in una cache utilizzando un'interfaccia ICacheManager ho .. qualcosa di simile:
return CacheManager.Get(cacheKey,() =>
{
// return something...
});
sarebbe questo diventare ridondante con elasticsearch?
EDIT
Grazie a tutti voi per le risposte. Sono pienamente consapevole di cosa sia una cache e ho già compreso l'idea generale alla base di un indice per la ricerca testuale, quindi mi stavo solo chiedendo se l'indice raddoppia già come cache e renderebbe quindi ridondante qualsiasi altra cache. Dopo tutto, non vorrei conservare 2 cache nella memoria (esempio: ElasticSearch + Redis) quando si andrebbe bene. Penso di avere un'idea migliore adesso; specialmente quando ho capito che non tutti i campi sono sempre memorizzati nell'indice e quindi è necessario recuperare l'oggetto da una cache o direttamente dal db, almeno in alcuni casi. Ringrazia tutti!
dato che è stato chiesto più di un anno fa, sarei interessato a scoprire se hai esplorato ES come soluzione di caching. –