NCache Funciones de almacenamiento en caché distribuido

Dependencia de caché para la gestión de relaciones

NCache tiene una función de dependencia de caché que le permite administrar datos relacionales con relaciones uno a uno, uno a muchos y muchos a muchos entre elementos de datos. La dependencia de caché le permite preservar la integridad de los datos en la caché distribuida.

Dependencia de caché le permite especificar que un elemento almacenado en caché depende de otro elemento almacenado en caché. Luego, si alguna aplicación actualiza o elimina el segundo elemento almacenado en caché, el primer elemento que dependía de él se eliminará automáticamente del caché mediante NCache. Cache Dependency también le permite especificar dependencias de varios niveles.

Lea más sobre dependencias de caché.

Dependencia de caché

Sincronización de base de datos

NCache proporciona una característica que sincroniza su caché con su base de datos automáticamente. Esto asegura que los datos en el caché estén siempre actualizados y que no tenga problemas de integridad de datos. Puede configurar la sincronización de la base de datos en función de las notificaciones de eventos emitidas por el servidor de la base de datos o por sondeo.

La sincronización basada en eventos es inmediata y en tiempo real, pero puede volverse bastante habladora si actualiza los datos en la base de datos con mucha frecuencia.

El sondeo es en realidad mucho más eficiente porque en una búsqueda NCache puede sincronizar cientos e incluso miles de filas. Sin embargo, el sondeo no es inmediato y, por lo general, tiene un retraso de unos segundos. Sin embargo, el intervalo de sondeo es configurable.

Lea más sobre sincronización de bases de datos.

Sincronización de base de datos

Consulta similar a SQL en paralelo, LINQ y etiquetas

NCache proporciona varias formas de buscar objetos en la memoria caché distribuida en lugar de depender únicamente de las claves. Esto incluye un lenguaje de consulta similar a SQL paralelo, etiquetas y grupos/subgrupos.

El lenguaje de consulta similar a SQL paralelo le permite buscar en la memoria caché en función de los atributos del objeto en lugar de las claves. Y esta consulta se distribuye a todos los servidores de caché para que se ejecuten en paralelo y los resultados se consolidan y se devuelven. Esto le permite emitir una consulta como "buscar todos los objetos del cliente donde la ciudad del cliente es San Francisco". Desde las aplicaciones .NET, también puede usar LINQ para buscar en la memoria caché distribuida, incluidas las expresiones 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();
      }
  } 

Etiquetas y grupos/subgrupos

Las etiquetas y los grupos/subgrupos ofrecen varias formas de agrupar los elementos almacenados en caché. Las etiquetas proporcionan una agrupación de muchos a muchos en la que una etiqueta puede contener varios elementos almacenados en caché y un elemento almacenado en caché puede pertenecer a varias etiquetas. Y Group/sub-group es una forma jerárquica de agrupar elementos almacenados en caché. También puede buscar etiquetas desde un lenguaje de consulta similar a SQL.

Lea más sobre diferentes formas de consultar la memoria caché distribuida.

Lectura, escritura y actualización automática

Simplifique y escale su aplicación insertando parte del código de acceso a datos en el clúster de caché distribuida. NCache proporciona un mecanismo de lectura y escritura simultánea que permite que la memoria caché lea y escriba datos directamente en su fuente de datos y base de datos.

Tu implementas IReadThruProvider y IWriteThruProvider interfaces y luego registre su código con el clúster de caché. Su código se copia en todos los servidores de caché y se llama cuando NCache necesita acceder a su fuente de datos y base de datos.

Puede combinar Read-through con expiraciones y sincronización de base de datos para habilitar NCache para actualizar automáticamente y recargar automáticamente una copia nueva de sus datos cuando sea necesario.

See leer y escribir para obtener más detalles.

Intercambio de datos en tiempo de ejecución a través de mensajería

NCache proporciona una poderosa plataforma de intercambio de datos y mensajería en tiempo de ejecución que es extremadamente rápida, escalable y en tiempo real.

NCache permite compartir datos en tiempo real con la ayuda de notificaciones de eventos. Hay tres tipos de eventos que las aplicaciones pueden usar para colaborar entre sí.

En primer lugar, se basa en elementos almacenados en caché, donde las aplicaciones registran interés en ciertos elementos almacenados en caché y reciben notificaciones cada vez que se actualizan o eliminan.

En segundo lugar, están los eventos generados por la aplicación que permiten que su aplicación utilice NCache como una plataforma de propagación de eventos y activa eventos personalizados en NCache racimo. NCache luego enruta estos eventos a otras aplicaciones cliente que han mostrado interés en estos eventos personalizados.

Finalmente, NCache le permite ser notificado por separado cada vez que se agrega, actualiza o elimina algo.

Lea más sobre intercambio de datos en tiempo de ejecución.

Serialización compacta

NCache proporciona un mecanismo de serialización de objetos extremadamente rápido llamado Serialización compacta que no requiere ningún cambio de código de su parte para su uso.

Esta serialización es más rápida porque no utiliza ningún reflejo en tiempo de ejecución. Y los objetos serializados son más compactos que la serialización regular porque en lugar de almacenar nombres de tipos largos basados ​​en cadenas, NCache registra todos los tipos y solo almacena ID de tipo.

Y, lo mejor de todo, no requiere ningún cambio de código de su parte porque NCache genera código de serialización en tiempo de ejecución una vez y lo usa una y otra vez. El resultado neto es un aumento notable en el rendimiento de su aplicación.

¿Qué hacer a continuación?

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.