SQL-ähnlicher Operator: Syntax und Verwendung
Note
Diese Funktion ist nur verfügbar in NCache Enterprise.
NCache ermöglicht Ihnen die Suche nach einem bestimmten Muster in einer Spalte mithilfe eines SQL-ähnlichen Abfrageformats LIKE Betreiber.
Die beiden Platzhalter, die mit verwendet werden LIKE Betreiber sind:
*
: Wird als Ersatz für null oder mehr Zeichen in der Zeichenfolge verwendet.?
: Wird als Ersatz für ein einzelnes Zeichen in der Zeichenfolge verwendet.
Voraussetzungen:
- Lernen Sie die Standardvoraussetzungen kennen, die für die Arbeit mit allen erforderlich sind NCache Clientseitige Funktionen finden Sie auf der angegebenen Seite Clientseitige API-Voraussetzungen.
- Durchsuchbare Objekte und ihre Attribute müssen von beiden indiziert werden Konfigurieren von Indizes or Indizes programmgesteuert definieren.
- Der Cache muss ausgeführt werden.
- Der Antrag muss mit dem Cache verbunden bevor Sie die Operation durchführen.
- Einzelheiten zur API finden Sie unter: ICache, ICacheReader, ExecuteReader, Suchdienst, Abfragebefehl, AusführenNonQuery.
- Stellen Sie sicher, dass die hinzugefügten Daten serialisierbar.
- Um sicherzustellen, dass der Vorgang ausfallsicher ist, wird empfohlen, alle potenziellen Ausnahmen in Ihrer Anwendung zu behandeln, wie in erläutert Umgang mit Fehlern.
- Informationen zum Umgang mit unsichtbaren Ausnahmen finden Sie unter Problemlösung .
Syntax
Hier ist ein Beispiel, das den Cache durchsucht und alle Produkte abruft, die über einen Cache verfügen Produktname beginnend mit den Buchstaben Shamp und Kategorie beginnend mit den Buchstaben Househo Verwendung von ExecuteReader
.
try
{
// Pre-condition: Cache is already connected
// Items are already present in the cache
// Specify the query with the specified criteria.
// Use the Fully Qualified Name (FQN) of your own custom class
string query = "SELECT * FROM FQN.Product WHERE ProductName LIKE ? AND Category LIKE ?";
// Use QueryCommand for query execution
var queryCommand = new QueryCommand(query);
// Providing parameters for query
queryCommand.Parameters.Add("ProductName", "P*");
queryCommand.Parameters.Add("Category", "Beverage?");
// Executing QueryCommand through ICacheReader
ICacheReader reader = _cache.SearchService.ExecuteReader(queryCommand);
// Check if result set is not empty
if (reader.FieldCount > 0)
{
while (reader.Read())
{
// Get the value of the result set
string result = reader.GetValue<string>("ProductID");
// Perform operations
}
}
else
{
// Null query result set retrieved
}
}
catch (OperationFailedException ex)
{
if (ex.ErrorCode == NCacheErrorCodes.INCORRECT_FORMAT)
{
// Make sure that the query format is correct
}
else
{
// Exception can occur due to:
// Connection Failures
// Operation Timeout
// Operation performed during state transfer
}
}
catch (Exception ex)
{
// Any generic exception like ArgumentException, ArgumentNullException
}
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 bietet eine Beispielanwendung für die SQL-Suche an GitHub.
Siehe auch
.NETZ: Alachisoft.NCache.Kundenservice Namespace.
Java: com.alachisoft.ncache.runtime.caching Namespace.
Node.js: Cache-Speicher Klasse.
Python: ncache.Kundenservice Klasse.