Cerca i dati dei tag nella cache con la query SQL
NCache fornisce query oggetto attraverso le quali è possibile cercare ed eliminare set di risultati in base ai criteri forniti alla query. Per recuperare i dati secondo i criteri specificati, NCache fornisce un'estensione della query SQL. Ti consente di cercare i dati nella cache in base ai criteri del requisito.
Una parola chiave speciale $Tag$
viene utilizzato per specificare che la condizione in esame utilizza i tag. La query SQL con i criteri di ricerca viene eseguita utilizzando ExecuteReader
.
ExecuteReader
elabora la query sul lato server e quindi invia il risultato in blocchi (come un dizionario contenente chiavi e valori) al client in forma tabellare al ICacheReader
tipo di istanza.
Puoi interrogare un elemento con un tag specifico come spiegato di seguito.
Prerequisiti per cercare i dati dei tag nella cache utilizzando la query SQL
- Per conoscere i prerequisiti standard richiesti per lavorare con all NCache caratteristiche lato client si prega di fare riferimento alla pagina indicata su Prerequisiti dell'API lato client.
- Classi personalizzate/attributi ricercabili devono obbligatoriamente: essere indicizzato come spiegato in Configurazione degli indici di query.
- Per i dettagli dell'API fare riferimento a: ICache, ICacheReader, QueryCommand, Esegui Lettore, Servizio di ricerca.
Cerca i dati nella cache con un tag
Utilizzando le query sugli oggetti, è possibile utilizzare un singolo tag per recuperare tutti gli elementi associati a quel tag.
Sintassi
L'esempio seguente recupera tutti gli elementi associati al tag Clienti VIP utilizzando la query SQL.
Note:
Utilizzare il nome completo (FQN) della classe Cliente, ad esempio Data.Customer.
// Preconditions: Cache is already connected
// Create a query for search
// Use the Fully Qualified Name (FQN) of your own custom class
string query = "Select CustomerID,ContactName FROM Alachisoft.NCache.Samples.Data.Customer WHERE $Tag$ = ?";
// Use QueryCommand for query execution
var queryCommand = new QueryCommand(query);
queryCommand.Parameters.Add("$Tag$", "VIP Customers");
// Executing Query
ICacheReader reader = cache.SearchService.ExecuteReader(queryCommand);
// Read results if result set is not empty
if (reader.FieldCount > 0)
{
while (reader.Read())
{
// Get the value of the result set
string customerID = reader.GetValue<string>("CustomerID");
string contactName = reader.GetValue<string>("ContactName");
Console.WriteLine($"Customer '{contactName}' having ID '{customerID}' is a VIP Customer.");
}
}
else
{
Console.WriteLine($"No VIP Customers found");
}
avvertimento
Fornire un file Null
il valore del tag per la query genererà un'eccezione ArgumentNullException o NullPointerException.
Per avere maggiori dettagli su NCache domande si prega di fare riferimento al Riferimento SQL per NCache .
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.
Risorse addizionali
NCache fornisce un'applicazione di esempio per i tag su GitHub.
Vedere anche
.NETTO: Alachisoft.NCache.Memorizzazione.della.cache spazio dei nomi.
Giava: com.alachisoft.ncache.cache.di.runtime spazio dei nomi.
Node.js: Etichetta classe.
Pitone: ncache.cache.di.runtime classe.