Gruppendaten im Cache mit SQL-Abfrage durchsuchen
NCache stellt Objektabfragen bereit, mit denen Sie in einer Abfrage angegebene Kriterien verwenden, um Ergebnismengen zu durchsuchen. Um die Daten gemäß Ihren angegebenen Kriterien abzurufen, NCache stellt Ihnen eine Erweiterung von SQL zur Verfügung.
Ein besonderes Schlüsselwort $Group$
wird verwendet, um anzugeben, dass die betrachtete Bedingung eine Gruppe verwendet. Eine Abfrage mit den Suchkriterien wird über ausgeführt ExecuteReader
.
ExecuteReader
verarbeitet die Abfrage auf der Serverseite und sendet das Ergebnis dann in Blöcken (als Wörterbuch mit Schlüsseln und Werten) in tabellarischer Form an den Client ICacheReader
Art der Instanz.
Voraussetzungen für die Suche nach Gruppendaten im Cache mithilfe einer SQL-Abfrage
- Lernen Sie die Standardvoraussetzungen kennen, die für die Arbeit mit allen erforderlich sind NCache Weitere Informationen zu clientseitigen Funktionen finden Sie auf der angegebenen Seite Clientseitige API-Voraussetzungen.
- Benutzerdefinierte Klassen/durchsuchbare Attribute sollen wie in erläutert indiziert werden Konfigurieren von Abfrageindizes.
- Einzelheiten zur API finden Sie unter: ICache, ICacheReader, Abfragebefehl, ExecuteReader, Suchdienst.
Warnung
Wenn sich die gesuchte Gruppe nicht im Cache befindet, wird die Abfrage als zurückgegeben Null
Wert.
Suchen Sie mithilfe einer SQL-Abfrage nach Daten in Gruppen
Sie können auch über SQL nach den Cache-Elementen suchen, die in Gruppen vorhanden sind. Das folgende Programm sucht über eine SQL-Abfrage nach Kunden-IDs, die in einer Gruppe vorhanden sind.
// 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
Um sicherzustellen, dass der Vorgang ausfallsicher ist, wird empfohlen, alle potenziellen Ausnahmen in Ihrer Anwendung zu behandeln, wie in erläutert Umgang mit Fehlern.
Weitere Informationen
NCache stellt Beispielanwendungen für Gruppen bereit GitHub.
Siehe auch
.NETZ: Alachisoft.NCache.Klient Namespace.
Java: com.alachisoft.ncache.Klient Namespace.
Node.js: Cache-Speicher Klasse.
Python: ncache.Klient Klasse.