Visão geral das chaves de cache e do cache de dados
NCache usa uma estrutura de valor-chave aprimorada para armazenar objetos e cache de dados. Portanto, embora os armazenamentos convencionais de valores-chave contenham uma chave de string em relação a um valor de string, NCache permite tipos de dados primitivos, objetos personalizados, NCache- objetos específicos (CacheItems), estruturas de dados e JSON como valores de cada chave. Portanto, cada item adicionado ao cache deve ter uma chave de string exclusiva.
Note
Este recurso também está disponível em NCache Professional.
Chaves de cache no cache de dados
Essa estrutura de valor-chave é vantajosa para recuperar objetos do cache. Enquanto NCache oferece suporte a vários métodos de recuperação de dados de cache - como consulta e marcação - as chaves buscam com eficiência os itens associados sem executar consultas em todo o cache.
Chaves em NCache têm as seguintes propriedades:
- Único - nenhuma chave duplicada é permitida
- Somente baseado em string
- String válida - strings nulas/vazias não são permitidas
- Maiúsculas e minúsculas
Dica
Boas práticas para nomear chaves:
- Forneça nomes significativos às suas chaves que descrevam os dados associados. Por exemplo, é provável que você esqueça a que "chave1" está associada em comparação com uma chave chamada Produto: 1001. Este nome de chave se descreve como um item de produto com ID do produto 1001.
- Para várias classes, você pode adicionar um prefixo antes do nome da chave para marcar a chave da classe. Por exemplo, seus dados são tais que Produto e Experiência e dinâmica de loja os objetos podem ter "1001" como chave. Estes podem estar no formato [Nome da Classe]_[NomeChave] de modo que eles são Produto_1001 e Cliente_1001 para esclarecimento.
- Para nomes de chave com várias palavras, você pode usar qualquer caractere para torná-lo legível, alguns comuns sendo
_ , & : - =
. Por exemplo, a Produto_Item:1001.
Afinidade de local entre itens
NCache fornece um mecanismo para armazenar dados no cache que cria uma afinidade entre itens de classes diferentes. Você pode armazenar itens de tipos diferentes no mesmo nó para economizar o custo correspondente ao buscar itens com chaves semelhantes. Este mecanismo mapeia entradas semelhantes no back-end, acelerando ainda mais o armazenamento e a recuperação de dados.
A afinidade de localização pode ser habilitada manualmente ao inserir dados no cache. A chave do item deve ser a mesma entre chaves {}
como no outro item. Por exemplo, para criar afinidade de localização entre Produto e Encomenda objetos, você pode especificar chave Produto: 1001 para um objeto Produto no cache e, em seguida, crie uma afinidade do pedido associado especificando Produto: 1001 dentro {}
. Então o Encomenda chave de objeto pode ser especificada como Pedido_{Produto:1001}. Isso garantirá que o produto e os pedidos existam no mesmo nó.
Dados suportados em cache de dados
Os objetos armazenados no cache para armazenamento em cache de dados podem ser:
Tipos de dados primitivos
Note
Este recurso também está disponível em NCache Professional.
NCache suporta todos os tipos de dados primitivos .NET:
byte/sbyte | int/uint | curto/curto | longo/longo | objeto |
carbonizar | corda | flutuar | duplo | decimal |
bool | DateTime | Intervalo de tempo |
Objetos de classe personalizados
Note
Este recurso também está disponível em NCache Professional.
Os dados também podem ser qualquer objeto de classe serializável personalizado, por exemplo, Produto objetos de classe. Os dados do objeto personalizado devo ser serializável, caso contrário NCache lançará uma exceção de serialização.
NCache fornece duas maneiras de serializar objetos personalizados:
Serialização nativa: você pode usar o .NET fornecido [Serializável] atributo em sua classe personalizada.
Serialização compacta: NCache fornece uma estrutura de serialização personalizada para objetos personalizados. Esta estrutura fornece serialização econômica para classes registradas de forma dinâmica.
NCacheobjetos CacheItem
Note
Este recurso também está disponível em NCache Professional.
Os dados também podem ser encapsulados em NCache's Item de cache aula. CacheItem permite adicionar metadados adicionais junto com o valor que está sendo armazenado em cache. Esses metadados definem as propriedades do item, como expiração, dependências e muito mais.
Você pode ler mais sobre as propriedades de CacheItem SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Estruturas de dados
NCache agora oferece suporte exclusivo para adição/atualização de estruturas de dados, onde os dados são manipulados diretamente sobre o servidor, melhorando o desempenho. NCache fornece suporte para as seguintes estruturas de dados:
Assim como qualquer dado em NCache, eles podem ser consultados, bloqueados, expirados e muito mais. Para saber mais sobre como usar estruturas de dados em cache, consulte Estruturas de dados em cache.
JSON
NCache também oferece suporte à adição/modificação de dados de cache na forma de JSON. JSON fornece flexibilidade para recuperação de dados, pois objetos personalizados podem ser recuperados como JSON e objetos JSON podem ser recuperados como objetos personalizados. Os itens a seguir são compatíveis com JSON:
Semelhante ao CacheItems, os dados JSON podem ser consultados, bloqueados, expirados e muito mais. Para saber mais sobre como usar JSON em NCache, referir-se Cache de dados como JSON.
Veja também
Como se conectar ao cache
Adicionar dados ao cache
Recuperar dados de cache existentes
Remover dados do cache
Criar cache