Pesquisar dados de grupo no cache com consulta SQL
NCache fornece consultas de objeto por meio das quais você usa critérios fornecidos em uma consulta para pesquisar conjuntos de resultados. Para recuperar os dados de acordo com os critérios especificados, NCache fornece uma extensão do SQL.
Uma palavra-chave especial $Group$
é usado para especificar que a condição em consideração usa o grupo. Uma consulta com os critérios de pesquisa é executada usando ExecuteReader
.
ExecuteReader
processa a consulta no lado do servidor e depois envia o resultado em blocos (como um dicionário contendo chaves e valores) para o cliente na forma tabular para o ICacheReader
tipo de instância.
Pré-requisitos para pesquisar dados de grupo no cache usando consulta SQL
- Para aprender sobre os pré-requisitos padrão necessários para trabalhar com todos os NCache recursos do lado do cliente, consulte a página fornecida em Pré-requisitos da API do lado do cliente.
- Classes personalizadas/atributos pesquisáveis devo ser indexado conforme explicado em Configurando índices de consulta.
- Para detalhes da API, consulte: ICache, ICacheReader, Comando de consulta, ExecuteReader, Serviço de pesquisa.
Aviso
Se o grupo pesquisado não estiver no cache, a consulta será retornada como um Null
valor.
Pesquise dados em grupos usando consulta SQL
Você também pode pesquisar os itens de cache presentes nos grupos por meio do SQL. O programa a seguir procura IDs de clientes presentes em um grupo por meio de consulta 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
Para garantir que a operação seja à prova de falhas, é recomendável lidar com possíveis exceções em seu aplicativo, conforme explicado em Como lidar com falhas.
Recursos adicionais
NCache fornece aplicativo de amostra para Grupos em GitHub.
Veja também
.INTERNET: Alachisoft.NCache.Cliente espaço para nome.
Java: com.alachisoft.ncache.cliente espaço para nome.
Node.js: Esconderijo classe.
Pitão: ncache.cliente classe.