Panoramica sulle chiavi di cache e sulla memorizzazione nella cache dei dati
NCache utilizza una struttura chiave-valore avanzata per l'archiviazione di oggetti e la memorizzazione nella cache dei dati. Pertanto, mentre gli archivi di valori-chiave convenzionali contengono una chiave stringa rispetto a un valore stringa, NCache consente tipi di dati primitivi, oggetti personalizzati, NCache-oggetti specifici (CacheItems), strutture dati e JSON come valori di ciascuna chiave. Pertanto, ogni elemento aggiunto alla cache deve avere una chiave di stringa univoca.
Note:
Questa funzionalità è disponibile anche in NCache Professional.
Chiavi di cache nella memorizzazione nella cache dei dati
Questa struttura chiave-valore è vantaggiosa per il recupero di oggetti dalla cache. Mentre NCache supporta più metodi di recupero dei dati della cache, come query e tagging: le chiavi recuperano in modo efficiente gli elementi associati senza eseguire query sull'intera cache.
Chiavi NCache hanno le seguenti proprietà:
- Univoco: non sono consentite chiavi duplicate
- Solo basato su stringhe
- Stringa valida: non sono consentite stringhe null/vuote
- Che tiene conto del maiuscolo o minuscolo
Consiglio
Buone pratiche per la denominazione delle chiavi:
- Fornisci nomi significativi alle tue chiavi che descrivono i dati associati. Ad esempio, è probabile che tu dimentichi a cosa è associato "key1" rispetto a una chiave denominata Prodotto: 1001. Questo nome di chiave si descrive come un elemento del prodotto con Codice prodotto 1001
- Per più classi, puoi aggiungere un prefisso prima del nome della chiave per contrassegnare la chiave per la classe. Ad esempio, i tuoi dati sono tali che Prodotto ed gli oggetti possono avere "1001" come chiave. Questi possono essere nel formato [NomeClasse]_[NomeChiave] in modo che siano Product_1001 ed Cliente_1001 per chiarire.
- Per i nomi chiave con più parole, puoi utilizzare qualsiasi carattere per renderlo leggibile, alcuni dei quali comuni
_ , & : - =
. Per esempio, Prodotto_Articolo:1001.
Affinità di posizione tra gli elementi
NCache fornisce un meccanismo per archiviare i dati nella cache che crea un'affinità tra elementi di classi diverse. Puoi archiviare elementi di tipo diverso sullo stesso nodo per risparmiare sul costo di corrispondenza durante il recupero di elementi con chiavi simili. Questo meccanismo mappa voci simili nel back-end, accelerando così ulteriormente la memorizzazione nella cache e il recupero dei dati.
L'affinità di posizione può essere abilitata manualmente durante l'inserimento dei dati nella cache. La chiave dell'elemento deve essere la stessa all'interno delle parentesi graffe {}
come nell'altro articolo. Ad esempio, per creare un'affinità di posizione tra Prodotto ed Ordina oggetti, è possibile specificare key Prodotto: 1001 per un oggetto Product nella cache e quindi creare un'affinità dell'ordine associato specificando Prodotto: 1001 entro {}
. Così la Ordina la chiave dell'oggetto può essere specificata come Ordine_{Prodotto:1001}. Ciò garantirà che il prodotto e gli ordini esistano all'interno dello stesso nodo.
Dati supportati nella memorizzazione nella cache dei dati
Gli oggetti archiviati nella cache per la memorizzazione nella cache dei dati possono essere:
Tipi di dati primitivi
Note:
Questa funzionalità è disponibile anche in NCache Professional.
NCache supporta tutti i tipi di dati primitivi .NET:
byte/sbyte | int/uint | corto/corto | lungo/lungo | oggetto |
serbatoio | stringa | galleggiante | doppio | decimale |
bool | Appuntamento | Intervallo di tempo |
Oggetti di classe personalizzati
Note:
Questa funzionalità è disponibile anche in NCache Professional.
I dati possono anche essere qualsiasi oggetto di classe serializzabile personalizzato, ad esempio, Prodotto oggetti di classe. I dati dell'oggetto personalizzato devono obbligatoriamente: essere serializzabile, altrimenti NCache genererà un'eccezione di serializzazione.
NCache fornisce due modi per serializzare oggetti personalizzati:
Serializzazione nativa: è possibile utilizzare il .NET fornito [Serializzabile] attributo nella tua classe personalizzata.
Serializzazione compatta: NCache fornisce un framework di serializzazione personalizzato per oggetti personalizzati. Questo framework fornisce una serializzazione economicamente vantaggiosa per le classi registrate in modo dinamico.
NCache's CacheItem oggetti
Note:
Questa funzionalità è disponibile anche in NCache Professional.
I dati possono anche essere incapsulati in NCache's CacheItem classe. CacheItem ti consente di aggiungere metadati aggiuntivi insieme al valore memorizzato nella cache. Questi metadati definiscono le proprietà dell'elemento come scadenza, dipendenze e altro.
Puoi leggere di più sulle proprietà di CacheItem qui.
Strutture dati
NCache ora fornisce supporto esclusivo per l'aggiunta/l'aggiornamento di strutture di dati, in cui i dati vengono manipolati direttamente sul server, migliorando le prestazioni. NCache fornisce supporto per le seguenti strutture di dati:
Proprio come qualsiasi dato in NCache, questi possono essere interrogati, bloccati, scaduti e altro ancora. Per ulteriori informazioni sull'utilizzo delle strutture dati nella cache, fare riferimento a Strutture di dati nella cache.
JSON
NCache supporta anche l'aggiunta/modifica dei dati della cache sotto forma di JSON. JSON fornisce flessibilità al recupero dei dati poiché gli oggetti personalizzati possono essere recuperati come JSON e gli oggetti JSON possono essere recuperati come oggetti personalizzati. Per JSON sono supportati i seguenti elementi:
Similmente a CacheItems, i dati JSON possono essere interrogati, bloccati, scaduti e altro ancora. Per ulteriori informazioni sull'utilizzo di JSON in NCache, fare riferimento a Memorizza i dati nella cache come JSON.
Vedere anche
Come connettersi alla cache
Aggiungi dati alla cache
Recupera i dati della cache esistenti
Rimuovere i dati dalla cache
Crea cache