Ricerca…


Osservazioni

Il caching è il processo di memorizzazione dei dati da qualche parte per le future richieste, nel nostro caso possiamo evitare il colpo indesiderato al database per ottenere i dati se memorizziamo i dati da qualche parte, in questo modo possiamo assicurarci che i dati siano serviti in maniera più veloce .

System.Runtime.Caching (MemoryCache)

Importa lo spazio dei nomi System.Runtime.Caching (Assicurati di aver aggiunto System.Runtime.Caching DLL al riferimento del tuo progetto).

Creare un'istanza della classe MemoryCache.

MemoryCache memCache = MemoryCache.Default;

Aggiungi valori a MemoryCache

public IQueryable<tblTag> GettblTags()
        {
            var ca = db.tblTags;
            memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
            return db.tblTags;
        }

Qui "tag" è la mia chiave e "ca" sono i miei valori e DateTimeOffset.UtcNow.AddMinutes (5) serve per impostare la cache per cinque minuti da ora.

Ottieni valori da MemoryCache

var res = memCache.Get("tag");
            if (res != null)
            {
                return res;
            }
            else {
                var ca = db.tblTags;
                memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
                return db.tblTags;
            }

Otterremo i valori della cache nella variabile res, ricorda che questi valori saranno lì solo per cinque minuti. Puoi sempre modificarlo secondo necessità. Se il valore non è nullo, lo restituiremo e faremo la manipolazione e se è nullo andremo avanti e recupereremo i dati dal database e aggiungeremo il valore alla cache.

Rimuovi i valori da MemoryCache

            if (memCache.Contains("tag"))
            {
                memCache.Remove("tag");
            }


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow