NCache Fonctionnalités de mise en cache distribuée

Dépendance du cache pour la gestion des relations

NCache dispose d'une fonction de dépendance du cache qui vous permet de gérer les données relationnelles avec des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs entre les éléments de données. La dépendance du cache vous permet de préserver l'intégrité des données dans le cache distribué.

La dépendance du cache vous permet de spécifier qu'un élément mis en cache dépend d'un autre élément mis en cache. Ensuite, si le deuxième élément mis en cache est mis à jour ou supprimé par une application, le premier élément qui en dépendait est automatiquement supprimé du cache par NCache. La dépendance du cache vous permet également de spécifier des dépendances à plusieurs niveaux.

Découvrez notre article sur dépendances de cache.

Dépendance du cache

Synchronisation De La Base De Données

NCache fournit une fonctionnalité qui synchronise automatiquement votre cache avec votre base de données. Cela garantit que les données dans le cache sont toujours fraîches et que vous n'avez pas de problèmes d'intégrité des données. Vous pouvez configurer la synchronisation de la base de données sur la base des notifications d'événements émises par le serveur de base de données ou par interrogation.

La synchronisation basée sur les événements est immédiate et en temps réel, mais peut devenir assez bavarde si vous mettez à jour très fréquemment les données de la base de données.

L'interrogation est en fait beaucoup plus efficace car en une seule récupération NCache peut synchroniser des centaines voire des milliers de lignes. Mais, l'interrogation n'est pas immédiate et a généralement un décalage de quelques secondes. L'intervalle d'interrogation est cependant configurable.

Découvrez notre article sur synchronisation de la base de données.

Synchronisation De La Base De Données

Requête parallèle de type SQL, LINQ et balises

NCache vous offre plusieurs façons de rechercher des objets dans le cache distribué au lieu de vous fier uniquement aux clés. Cela inclut un langage de requête parallèle de type SQL, des balises et des groupes/sous-groupes.

Le langage de requête de type SQL parallèle vous permet de rechercher dans le cache en fonction des attributs d'objet plutôt que des clés. Et, cette requête est distribuée à tous les serveurs de cache pour être exécutée en parallèle et les résultats sont ensuite consolidés et renvoyés. Cela vous permet d'émettre une requête du type "trouver tous les objets client dont la ville est San Francisco". À partir des applications .NET, vous pouvez également utiliser LINQ pour rechercher le cache distribué, y compris les expressions 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();
      }
  } 

Balises et groupes/sous-groupes

Les balises et les groupes/sous-groupes offrent différentes manières de regrouper les éléments mis en cache. Les balises fournissent un regroupement plusieurs à plusieurs dans lequel une balise peut contenir plusieurs éléments mis en cache et un élément mis en cache peut appartenir à plusieurs balises. Et Groupe/sous-groupe est une manière hiérarchique de regrouper les éléments mis en cache. Vous pouvez également rechercher des balises à partir d'un langage de requête de type SQL.

Découvrez notre article sur différentes manières d'interroger le cache distribué.

Lecture immédiate, écriture immédiate et actualisation automatique

Simplifiez et faites évoluer votre application en poussant une partie du code d'accès aux données dans le cluster de cache distribué. NCache fournit un mécanisme de lecture et d'écriture qui permet au cache de lire et d'écrire des données directement dans votre source de données et votre base de données.

vous mettez en œuvre IReadThruProvider ainsi que IWriteThruProvider interfaces, puis enregistrez votre code auprès du cluster de cache. Votre code est copié sur tous les serveurs de cache et appelé lorsque NCache doit accéder à votre source de données et à votre base de données.

Vous pouvez combiner la lecture avec les expirations et la synchronisation de la base de données pour activer NCache pour effectuer une actualisation automatique et recharger automatiquement une nouvelle copie de vos données en cas de besoin.

See lire et écrire pour en savoir plus.

Partage de données d'exécution via la messagerie

NCache fournit une plate-forme puissante de partage de données et de messagerie d'exécution extrêmement rapide, évolutive et en temps réel.

NCache permet le partage de données en temps réel à l'aide de notifications d'événements. Il existe trois types d'événements que les applications peuvent utiliser pour collaborer entre elles.

Le premier est basé sur les éléments en cache où les applications enregistrent leur intérêt pour certains éléments en cache et sont averties chaque fois qu'ils sont mis à jour ou supprimés.

Deuxièmement, il y a les événements générés par l'application qui permettent à votre application d'utiliser NCache en tant que plate-forme de propagation d'événements et déclenchez des événements personnalisés dans NCache . NCache puis achemine ces événements vers d'autres applications clientes qui ont manifesté leur intérêt pour ces événements personnalisés.

Enfin, NCache vous permet d'être averti séparément chaque fois que quelque chose est ajouté, mis à jour ou supprimé.

Découvrez notre article sur partage de données d'exécution.

Sérialisation compacte

NCache fournit un mécanisme de sérialisation d'objets extrêmement rapide appelé Compact Serialization qui ne nécessite aucune modification de code de votre part.

Cette sérialisation est plus rapide car elle n'utilise aucune réflexion à l'exécution. Et les objets sérialisés sont plus compacts que la sérialisation normale car au lieu de stocker des noms de type longs basés sur des chaînes, NCache enregistre tous les types et ne stocke que les ID de type.

Et, mieux encore, cela ne nécessite aucun changement de code de votre part car NCache génère une fois le code de sérialisation au moment de l'exécution et l'utilise encore et encore. Le résultat net est une amélioration notable des performances de votre application.

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.