Dados de cache de grupo: uma visão geral
Itens nos dados de cache que possuem um relacionamento ou se enquadram na mesma categoria podem ser agrupados usando NCacherecurso de grupos de. Usando grupos, você pode particionar logicamente seus dados para melhor eficiência.
Note
Este recurso está disponível apenas em NCache Enterprise.
Quando usar grupos de dados de cache?
Vamos supor que você tenha uma quantidade significativa de clientes em sua empresa e queira categorizar os clientes de acordo com a receita gerada. Por exemplo, a primeira categoria deve adicionar todos os clientes cuja receita gerada está acima de US$ 1000 como Clientes importantes ao cachê.
Isso pode ser feito executando uma consulta SQL no banco de dados que obtém os dados resultantes contendo esses clientes. No entanto, para economizar o esforço de executar essa consulta SQL sempre em todo o banco de dados, você pode adicionar o conjunto aos dados do cache com um nome de grupo uma vez, para que os dados residam nesse grupo específico.
A tabela abaixo é uma ilustração do cenário acima.
Por que usar grupos?
Os grupos melhoram a eficiência e fornecem ao usuário a facilidade de buscar ou remover os dados do cache com base em categorias lógicas. Quando os dados armazenados em cache são agrupados de acordo com determinados critérios racionais, o tempo para pesquisar os dados que se enquadram nos mesmos critérios é significativamente reduzido. Conseqüentemente, o agrupamento produz resultados de pesquisa mais rápidos, melhorando a escalabilidade do seu aplicativo.
Além disso, o uso de grupos para armazenar dados acessados com frequência que se enquadram em critérios de pesquisa específicos economiza o custo de pesquisar o banco de dados todas as vezes.
Propriedades
Hierarquia de um nível: Não há outro nível de hierarquia após o grupo. Os itens de cache podem ser logicamente separados apenas por um único grupo.
Maiúsculas e minúsculas: Os grupos diferenciam maiúsculas de minúsculas.
Tipo de dados de string: Os grupos só podem ser do tipo de dados string.
Sem sobreposição: Os grupos não se sobrepõem e possuem nomes distintos.
Operações CRUD com Grupos
NCache permite que você execute operações CRUD em dados com informações de grupo usando o CacheItem
classe. CacheItem
permite definir especificações adicionais associadas a um objeto como um property
de grupos. Os detalhes e comportamentos relevantes são explicados abaixo.
Adicionar/atualizar dados com grupos
Você pode adicionar ou atualizar um CacheItem
no cache especificando um grupo. Enquanto isso, um item pode pertencer a um único grupo, enquanto um grupo pode ter muitos itens associados.
A Add
operação adiciona um CacheItem
com um grupo para o cache e falha com uma exceção se a chave já existir no cache. Você pode atualizar o grupo de um item existente usando um Insert
operação que substitui o grupo anterior no item especificado. Se a chave ou grupo contra a chave não existir no cache, o item será adicionado ao grupo.
Além disso, você também pode adicionar/inserir uma coleção de itens com grupos ao cache usando o AddBulk
/InsertBulk
métodos.
Note
Com o Insert
O método é uma abordagem recomendada ao adicionar um item com o grupo ao cache, pois é à prova de falhas.
Você pode adicionar ou atualizar um CacheItem
no cache com grupos. No caso de add, se o grupo já existir, a operação falhará. No caso de uma atualização, se o grupo não existir no cache, ele será adicionado ao cache, caso contrário, substituirá o grupo anterior.
Comportamento
Só pode haver um único item associado a um único grupo. Ou seja, você não pode atribuir vários grupos a um CacheItem
.
Recuperar dados com grupos
Depois que os itens forem adicionados com grupos ao cache, você poderá recuperar itens do cache especificando o grupo como seu critério de pesquisa. Você pode recuperar uma lista de chaves e um dicionário de chaves com itens de cache usando o comando GetGroupKeys
e GetGroupData
métodos, respectivamente.
Você pode recuperar uma grande quantidade de CacheItem
do cache usando grupos. Você pode recuperar uma lista de chaves ou um dicionário de chaves e itens usando o GetGroupKeys
e GetGroupData
métodos, respectivamente.
Remover dados com grupos
Você pode remover uma grande quantidade de CacheItem
do cache usando grupos. Você especifica um grupo usando o RemoveGroupData
método e, em seguida, todas as chaves e metadados que se enquadram no grupo especificado são removidos do cache.
Comportamento do cache do cliente
As operações de gravação, como adicionar e atualizar, são executadas primeiro no cache do cluster e replicadas para o cache do cliente, respectivamente. As operações de leitura são executadas diretamente nos nós do servidor.
Veja também
Adicionar/atualizar dados de cache com grupos
Recuperar dados de cache com grupos
Remover dados de cache com grupo