Aggiungi/Aggiorna dati con tag denominati nella cache dei dati
Per associare i tag nominati a qualsiasi elemento della cache, è necessario fornire un elenco di tag nominati, ciascuno con due parametri che sono chiave come una stringa che è il nome del tag e APPREZZIAMO come qualsiasi tipo primitivo che è il valore assegnato alla chiave. NCache quindi ti consente di associare i tuoi oggetti a questi tag nominati. È possibile aggiungere elementi nella cache dei dati con i tag nominati e successivamente recuperare questi elementi dalla cache utilizzando i tag nominati aggiunti in precedenza.
Quando gli elementi sono già aggiunti nella cache con determinati tag denominati, NCache fornisce all'utente la possibilità di aggiornare i tag nominati già presenti nella cache dei dati.
Prerequisiti
- Per conoscere i prerequisiti standard richiesti per lavorare con all NCache Per le funzionalità lato client fare riferimento alla pagina specificata Prerequisiti dell'API lato client.
- Per i dettagli dell'API, fare riferimento a: ICache, CacheItem, NamedTag, Aggiungi, inserire, Ottieni, NamedTagsDizionario.
Aggiungi tag con nome
NCache fornisce una classe personalizzata, CacheItem
che può essere utilizzato per aggiungere dati alla cache dei dati. Questa classe incapsula i dati come proprietà del valore. CacheItem
consente inoltre di impostare specifiche aggiuntive associate a un oggetto come a property
della classe NamedTags.
Nell'esempio seguente, i tag nominati vengono impostati assegnandoli come a property
of CacheItem
.
// Precondition: Cache is already connected
// In an online-store, VIP members are offered 10% discount
// A customer with VIP membership has signed in to the website
string customerKey = $"Customer:ALFKI";
Customer customer = cache.Get<Customer>(customerKey);
// Get customer from database if not found in cache
if (customer == null)
{
// Get customer from the database
customer = FetchCustomerFromDB("ALFKI");
// Create a new CacheItem
var cacheItem = new CacheItem(customer);
// Creating a Named Tags Dictionary
var namedTags = new NamedTagsDictionary();
/* Adding Named Tags to the Dictionary where
Keys are the names of the tags as string type and Values are of primitive type*/
namedTags.Add("VIP_Membership_Discount", 0.10 );
// Setting the named tag property of the cacheItem
cacheItem.NamedTags = namedTags;
cache.Add(customerKey, cacheItem);
}
Note:
Per garantire che l'operazione sia a prova di errore, si consiglia di gestire eventuali potenziali eccezioni all'interno dell'applicazione, come spiegato in Gestione dei guasti.
Aggiorna i dati dei tag con nome tramite CacheItem
Aggiornamento dei tag nominati tramite CacheItem
richiede che l'elemento venga prima recuperato, i suoi tag denominati vengano modificati e quindi venga reinserito nella cache utilizzando il comando inserire metodo.
L'esempio seguente recupera innanzitutto il file CacheItem
, crea un elenco con i tag appena nominati e quindi reinserisce il file CacheItem
nella cache insieme all'elenco dei tag con nome modificato. Pertanto, sovrascrive il valore dei tag denominati esistenti.
avvertimento
Fornitura Null
L'array di tag denominato genererà un'ArgumentNullException.
// Store Owner has increased VIP membership discount to 12%
string customerKey = $"Customer:ALFKI";
Customer customer = cache.Get<Customer>(customerKey);
// Get the customer from database if not found in the cache
if (customer == null)
{
customer = FetchCustomerFromDB("ALFKI");
}
// Create a new CacheItem
var cacheItem = new CacheItem(customer);
// Creating a Named Tags Dictionary
var newNamedTags = new NamedTagsDictionary();
// Add Named Tag with the updated discount value to the Dictionary
newNamedTags.Add("VIP_Membership_Discount", 0.12);
// Updates the Named Tags with the new Named Tags
// Overrides the value of the existing Named Tags
cacheItem.NamedTags = newNamedTags;
// Reinserts the updated cacheItem into the cache with the modified Named Tags
cache.Insert(customerKey, cacheItem);
Risorse addizionali
NCache fornisce un'applicazione di esempio per i tag nominati su GitHub.
Vedere anche
Tag dei dati della cache
Query SQL con NamedTag
Elimina SQL con NamedTag
Scadenza dei dati