NCache Recursos de cache distribuído

Dependência de cache para gerenciamento de relacionamento

NCache tem um recurso de dependência de cache que permite gerenciar dados relacionais com relacionamentos um para um, um para muitos e muitos para muitos entre os elementos de dados. A dependência de cache permite preservar a integridade dos dados no cache distribuído.

A dependência de cache permite especificar que um item armazenado em cache depende de outro item armazenado em cache. Então, se o segundo item em cache for atualizado ou removido por qualquer aplicativo, o primeiro item que dependia dele será automaticamente removido do cache por NCache. A dependência de cache também permite especificar dependências de vários níveis.

Leia mais sobre dependências de cache.

Dependência de cache

Sincronização de banco de dados

NCache fornece um recurso que sincroniza seu cache com seu banco de dados automaticamente. Isso garante que os dados no cache estejam sempre atualizados e você não tenha problemas de integridade de dados. Você pode configurar a sincronização de banco de dados com base em notificações de eventos emitidas pelo servidor de banco de dados ou por sondagem.

A sincronização baseada em eventos é imediata e em tempo real, mas pode ficar bastante chata se você estiver atualizando os dados no banco de dados com muita frequência.

A pesquisa é realmente muito mais eficiente porque em uma busca NCache pode sincronizar centenas e até milhares de linhas. Mas, a votação não é imediata e geralmente tem alguns segundos de atraso. No entanto, o intervalo de sondagem é configurável.

Leia mais sobre sincronização de banco de dados.

Sincronização de banco de dados

Consulta paralela semelhante a SQL, LINQ e tags

NCache fornece várias maneiras de pesquisar objetos no cache distribuído em vez de depender apenas de chaves. Isso inclui uma linguagem de consulta semelhante a SQL paralela, Tags e Grupos/subgrupos.

A linguagem de consulta do tipo SQL paralelo permite pesquisar o cache com base nos atributos do objeto em vez das chaves. E, essa consulta é distribuída para todos os servidores de cache para serem executados em paralelo e os resultados são consolidados e retornados. Isso permite que você emita uma consulta como "encontrar todos os objetos do cliente onde a cidade do cliente é São Francisco". Em aplicativos .NET, você também pode usar o LINQ para pesquisar o cache distribuído, incluindo expressões lambda.

  public class Program
  {
      public static void Main(string[] args)
      {
          NCache.InitializeCache("myReplicatedCache");
          String query = "SELECT NCacheQuerySample.Business.Product WHERE this.ProductID > 100";
          // Fetch the keys matching this search criteria
          ICollection keys = NCache.Cache.Search(query);
          if (keys.Count > 0)
          {
              IEnumerator ie = keys.GetEnumerator();
              while (ie.MoveNext())
              {
                  String key = (String)ie.Current;
                  Product prod = (Product)NCache.Cache.Get(key);

                  HandleProduct(prod);
                  Console.WriteLine("ProductID: {0}", prod.ProductID);
              }
          }
          NCache.Cache.Dispose();
      }
  } 

Tags e grupos/subgrupos

Tags e grupos/subgrupos fornecem várias maneiras de agrupar itens em cache. As tags fornecem um agrupamento de muitos para muitos em que uma tag pode conter vários itens em cache e um item em cache pode pertencer a várias tags. E Grupo/subgrupo é uma maneira hierárquica de agrupar itens em cache. Você também pode pesquisar Tags de dentro da linguagem de consulta do tipo SQL.

Leia mais sobre diferentes maneiras de consultar o cache distribuído.

Read-Through, Write-Through e Atualização Automática

Simplifique e dimensione seu aplicativo enviando parte do código de acesso a dados para o cluster de cache distribuído. NCache fornece um mecanismo Read-through e Write-through que permite que o cache leia e grave dados diretamente em sua fonte de dados e banco de dados.

Você implementa IReadThruProvider e IWriteThruProvider interfaces e, em seguida, registre seu código com o cluster de cache. Seu código é copiado para todos os servidores de cache e chamado quando NCache precisa acessar sua fonte de dados e banco de dados.

Você pode combinar Read-through com expirações e sincronização de banco de dados para habilitar NCache para fazer a atualização automática e recarregar automaticamente uma nova cópia de seus dados quando necessário.

See ler e escrever para obter detalhes.

Compartilhamento de dados de tempo de execução por meio de mensagens

NCache fornece uma plataforma de mensagens e compartilhamento de dados em tempo de execução poderosa que é extremamente rápida, escalável e em tempo real.

NCache permite o compartilhamento de dados em tempo real com a ajuda de notificações de eventos. Existem três tipos de eventos que os aplicativos podem usar para colaborar entre si.

A primeira é baseada em itens em cache, onde os aplicativos registram interesse em determinados itens em cache e são notificados sempre que são atualizados ou removidos.

Em segundo lugar estão os eventos gerados pelo aplicativo que permitem que seu aplicativo use NCache como uma plataforma de propagação de eventos e acionar eventos personalizados em NCache grupo. NCache em seguida, roteia esses eventos para outros aplicativos cliente que demonstraram interesse nesses eventos personalizados.

Finalmente, NCache permite que você seja notificado separadamente sempre que algo for adicionado, atualizado ou removido.

Leia mais sobre compartilhamento de dados em tempo de execução.

Serialização compacta

NCache fornece um mecanismo de serialização de objetos extremamente rápido chamado Compact Serialization que não requer nenhuma alteração de código de sua parte para ser usado.

Essa serialização é mais rápida porque não usa nenhuma reflexão em tempo de execução. E os objetos serializados são mais compactos do que a serialização regular porque, em vez de armazenar nomes de tipo longos baseados em string, NCache registra todos os tipos e armazena apenas IDs de tipo.

E o melhor de tudo, não requer nenhuma mudança de código de sua parte porque NCache gera o código de serialização em tempo de execução uma vez e o usa repetidamente. O resultado líquido é um aumento notável no desempenho do seu aplicativo.

O que fazer a seguir?

© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.