NCache, un système en mémoire distribué, linéairement évolutif et rapide magasin clé-valeur permet la mise en cache des objets afin de réduire les déplacements de la base de données et d'adapter facilement des charges plus élevées. De la même manière, Redis est également une solution de mise en cache distribuée, mais manque de fonctionnalités clés telles que SQL & Prise en charge de LINQ, Cache client (InProc) et de Clustering pair à pair etc. Pour .NET Redis applications clientes, NCache fournit une API wrapper identique à StackExchange.Redis API pour que les utilisateurs puissent facilement passer à NCache avec des changements de code minimes.
Par conséquent, l'étape réelle consiste à se renseigner sur la migration de Redis à NCache. Ce blog fournit un guide étape par étape sur ce qui doit être fait pour une migration en douceur de Redis à NCache.
Besoin de NCache Wrapper pour Redis pour .NET et .NET Core
Avec tout ce qui a été dit ci-dessus, imaginez maintenant un Redis client utilisant un pur .NET/.NET Core application, qui souhaite porter avec un minimum de changement de code et des fonctionnalités supplémentaires. Que devrait-il faire? Utiliser NCache! Il offre de nombreuses fonctionnalités et une migration transparente depuis Redis à NCache.
Cependant, pour utiliser NCache avec votre propre Redis application cliente, vous auriez à apprendre beaucoup de NCache, ses fonctionnalités fournies, puis incorporer NCache tout en remplissant d'autres fonctions. L'application déployée devra être testée encore et encore, ce qui deviendrait un processus très coûteux et fastidieux.
Alors, NCache résolu le problème mentionné ci-dessus très intelligemment; il a implémenté un wrapper sur NCache API qui est identique à celle de StackExchange.Redis API. Il s'agit du StackExchange standard.Redis API en raison de laquelle il y a un minimum de changement de code requis pour votre Redis application cliente afin de l'utiliser de manière évolutive avec NCache.
Comment faire usage de NCache Wrapper pour Redis Facilement
La meilleure partie de la migration depuis Redis à NCache est la facilité d'aucun code et aucun changement de logique requis pour la migration. Le Stack Exchange.Redis Le comportement de l'API est le même dans l'ensemble NCache intégré avec Redis application cliente.
En tant qu'utilisateur, vous n'avez qu'à modifier quelques espaces de noms pour donner accès au cache tout en téléchargeant le Package NuGet et toute votre application est prête à partir. Le code source de ce wrapper ainsi qu'un exemple d'application sont téléchargés sur GitHub.
Étape 1: Télécharger NCache Redis NuGet wrapper
NCache fournit une Package NuGet à installer dans votre StackExchange.Redis application. Le package NuGet contient le client.ncconf fichier utilisé pour configurer le client de cache pour accéder NCache cluster à partir de la machine cliente.
1 |
Install-Package NCache.StackExchange.Redis |
Étape : 2 Ajoutez l'espace de noms à votre application
Ajoutez l'espace de noms suivant, dans votre application et vos fichiers source :
1 |
NCache.StackExchange.Redis |
Étape 3: Connectez-vous au Cache et au NCache Base de données
L'étape suivante consiste à se connecter au cache via le Classe ConnectionMultiplexerConnectionMultiplexer class qui est l'objet central de StackExchange.Redis API qui cache les détails de plusieurs serveurs. Assurez-vous que le cache est en cours d'exécution afin que les opérations puissent être effectuées de manière transparente. Vous pouvez également apprendre comment créer un cache du guide étape par étape dans NCache Documentation.
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
Tout comme NCache fournit un ICache interface pour obtenir une instance d'un NCachele cache, ObtenezNCacheInterface est d'obtenir la mise en cache via le Redis interface.
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
Tout comme accéder à un Redis base de données, il est très simple à utiliser NCache comme un wrapper comme écrit ci-dessous.
1 |
var db = ncache.GetDatabase(); |
De plus, avec le reste de votre application, vous pouvez continuer à utiliser StackExchange.Redis API de la même manière que vous utilisiez auparavant sans aucun changement de code.
Une fois votre application connectée au NCache cluster de cache, vous pouvez effectuer des opérations assez facilement et c'est tout, votre Redis l'application est maintenant migrée vers NCache. Ainsi, en quelques étapes seulement, vous migrez l'intégralité de votre Redis application à NCache sans tracas.
Constat NCache Emballage pour un Redis Client?
En utilisant NCache pour Redis L'application client vous offre les avantages suivants :
-
- Requête SQL et LINQ : NCache fournit un support SQL et LINQ pour interroger le cache en fonction des attributs d'objet, des groupes/sous-groupes, étiquettes et de balises nommées Cela facilite grandement la recherche des données que vous avez stockées dans le cache.
- Code côté serveur (.NET) : NCache permet de déployer code côté serveur pour s'exécuter sur les serveurs de cache du cluster. Un riche ensemble de fonctionnalités est fourni pour vous permettre de développer et de déployer du code côté serveur dans .NET. Certaines fonctionnalités sont Lire à travers, Ecriture et de Chargeur de cache.
- Garder le cache à jour (dépendances) : NCache garantit que votre cache est toujours à jour et que vous pouvez compter en toute confiance sur l'intégrité de ses données. Si les données du cache deviennent obsolètes, elles sont immédiatement mises à jour avec celles de la base de données. NCache fournit une liste de fonctionnalités à cet effet comme Synchroniser le cache avec la base de données et de Dépendances contrairement à Redis qui ne donne que par les Expirations.
- Performances du cache (cache client (vitesse InProc)) : NCache . Cache Client (Near Cache) qui est essentiellement un cache local très proche de votre application (InProc/OutProc). Il donne à votre application la vitesse InProc, ce qui signifie une récupération plus rapide des objets.
Conclusion
Pour résumer, ce que nous avons appris du blog, c'est comment NCache wrapper vous permet de migrer l'intégralité de votre Redis application à NCache en suivant une série d'étapes simples. Vous pouvez facilement utiliser NCacheles fonctionnalités de en utilisant simplement le NCache Redis wrapper sans changement de code et le StackExchange d'origine.Redis API. Il y en a beaucoup d'autres fonctionnalités fournies par NCache qui améliorent les performances de votre application et vous aident à atteindre l'évolutivité que vous souhaitez.
NCache Détails Télécharger NCache Comparaison Des Éditions