Search Group Data in Cache with SQL Query
NCache fornisce query di oggetti attraverso le quali utilizzare i criteri forniti in una query per cercare set di risultati. Per recuperare i dati in base ai criteri specificati, NCache fornisce un'estensione di SQL.
Una parola chiave speciale $Group$
viene utilizzato per specificare che la condizione in esame utilizza il gruppo. Una query 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.
Prerequisites to Search Group Data in Cache Using SQL Query
- 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.
- 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.
avvertimento
Se il gruppo cercato non è nella cache, la query verrà restituita come a Null
valore.
Search for Data in Groups using SQL Query
Puoi anche cercare gli elementi della cache presenti nei gruppi tramite SQL. Il seguente programma cerca gli ID cliente presenti in un gruppo tramite query SQL.
// A user wants to see all the West Coast Customers using the SQL query.
// Preconditions: Cache is already connected
// Items with groups exist in the cache
// Custom class is query indexed through the NCache Management Center or config.ncconf
// Create an SQL Query with the specified criteria
// Make sure to use the Fully Qualified Name (FQN)
string query = "SELECT CustomerID,ContactName FROM Alachisoft.NCache.Samples.Data.Customer WHERE $Group$ = ? ";
// Use QueryCommand for query execution
var queryCommand = new QueryCommand(query);
// Providing parameters for query
queryCommand.Parameters.Add("$Group$", "West Coast Customers");
// Executing the 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 customerName = reader.GetValue<string>("ContactName");
Console.WriteLine($"Customer '{customerName}' having ID '{customerID}' belongs to West Coast.");
}
}
else
{
Console.WriteLine($"No customers from West Coast found");
}
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 Gruppi su GitHub.
Vedere anche
.NETTO: Alachisoft.NCache.Cliente spazio dei nomi.
Giava: com.alachisoft.ncache.cliente spazio dei nomi.
Node.js: Cache classe.
Pitone: ncache.cliente classe.