Les nouvelles fonctionnalités suivantes sont fournies dans NCache v5.3 SP1.
Les nouvelles fonctionnalités suivantes sont fournies dans NCache v5.3.
Pour NCache images disponibles sur Azure et AWS, l'inscription pour une évaluation gratuite de NCache est pris en charge dans NCache Gestionnaire Web. Lorsqu'une machine n'est enregistrée ni avec une évaluation ni avec une clé de licence, NCache L'écran par défaut de Web Manager amène les utilisateurs à un processus d'inscription pour commencer leur évaluation ou activer leurs boîtes.
La fonction 'NCache NoSQL' publié en 5.3 a été renommé en 'NCache Persistance'. Le fonctionnement de la fonctionnalité reste le même, cependant, les fournisseurs supplémentaires sont supprimés. La NCache La persistance ne peut désormais être utilisée qu'avec le magasin basé sur le système de fichiers intégré.
Tous NoSQL Les applets de commande PowerShell associées ont également été renommées.
Un package NuGet distinct est publié pour NCache Procédures stockées CLR. Cela aide à créer facilement des procédures stockées CLR qui utilisent NCache API.
Au lieu d'utiliser les configurations spécifiées dans client.ncconf, les utilisateurs peuvent forcer les applications SignalR à utiliser les options de connexion spécifiées dans les fichiers web.config ou appsettings.json de l'application. Si spécifié, l'application utilisera ces paramètres.
La valeur de l'intervalle d'actualisation peut désormais être définie en secondes au lieu de minutes. La modification a été apportée pour s'adapter aux scénarios où le rafraîchissement doit s'exécuter à un intervalle de moins d'une minute.
NCache propose une nouvelle fonctionnalité appelée NoSQL Database où toute la base de données est en mémoire et distribuée, mais elle est également conservée dans un stockage permanent en temps réel (contrairement à d'autres produits qui prennent un instantané périodique ou ne conservent qu'un journal des transactions). Cette persistance en temps réel garantit que vos données en mémoire sont toujours synchronisées et ne sont jamais perdues même lorsque vous redémarrez tous les NCache les serveurs.
NCache NoSQL Database est ultra-rapide et évolutif car il est 100% In-Memory et distribué. En même temps, NCache NoSQL Database conserve les données comme toutes les autres bases de données afin que vous ne perdiez aucune donnée même si toutes NCache les serveurs sont abattus.
Vous pouvez choisir de vous persister NoSQL Database in NCache Persistance ultra-rapide et très fiable. Ou, si vous préférez, vous pouvez persister NoSQL Database dans l'une des principales bases de données tierces. NCache fournit les options de persistance en temps réel suivantes NoSQL Database:
Vous pouvez utiliser NCache NoSQL Database des manières suivantes:
REMARQUE: vous pouvez utiliser cette fonctionnalité à partir des applications .NET, Java, Node.js et Python.
NCache fournit Lucene distribué pour les applications .NET utilisant Lucene pour la recherche en texte intégral. Lucene distribué prend l'index Lucene.NET standard et le rend distribué afin que vous puissiez mettre à l'échelle l'index Lucene à plusieurs NCache serveurs même à l'exécution. Cela vous permet non seulement d'augmenter la taille de votre index mais également la capacité de transaction de votre application car votre application parle maintenant à plusieurs NCache serveurs pour Lucene.
Voici quelques points forts de la fonctionnalité Distributed Lucene :
NCache fournit désormais un puissant client Python sur Windows et Linux. Ce client Python possède toutes les fonctionnalités de l'API côté client of NCache que les clients .NET et Java appréciaient traditionnellement.
NCache fournit des outils d'importation et d'exportation sous forme d'applets de commande PowerShell. Avec ces outils, vous pouvez importer ou exporter des données JSON / CSV dans le NoSQL Database ou en sortir. Cela vous permet d'extraire tout ou partie de votre NoSQL database.
Si vous avez sélectionné NCache Fournisseur de persistance pour NoSQL Database, toutes les données sont conservées dans plusieurs fichiers situés dans un dossier réseau partagé (basé sur le chemin UNC).
Vous pouvez utiliser des outils de sauvegarde/restauration de système de fichiers réguliers sur ces données. Cependant, veuillez noter que NCache vous fournit un outil d'administration (comme PowerShell Cmdlet) pour suspendre brièvement NCache écrit dans le stockage persistant pendant que vous effectuez la sauvegarde de votre système de fichiers. Cependant, toutes les écritures sont effectuées sur la copie distribuée en mémoire des données et consignées. Ainsi, lorsque vous avez terminé votre sauvegarde, vous pouvez activer les écritures sur le stockage de persistance. Et, ensuite, toutes ces écritures sont appliquées au stockage de persistance de la même manière que si elles étaient en temps réel.
Bien que vous fournissiez un mécanisme de sauvegarde en ligne, il est recommandé de sélectionner une heure à faible trafic pour effectuer les sauvegardes. Dans le futur, NCache fournira une fonction de sauvegarde entièrement en ligne pour NCache Fournisseur de persistance de NoSQL Database où vous pouvez même continuer à faire des écritures pendant la sauvegarde.
Cependant, si vous avez sélectionné SQL Server ou MongoDB comme option de stockage, vous pouvez utiliser les outils de sauvegarde/restauration fournis par ces bases de données, y compris la sauvegarde en ligne.
Si vous avez déjà une application .NET utilisant Lucene, il est probable que vous ayez construit un index Lucene assez volumineux. NCache vous donne la possibilité d'importer un index Lucene existant dans NCache Distribué Lucene en vrac.
C'est beaucoup plus rapide que de recréer cet index en lisant des documents à partir de celui-ci et en ajoutant ces documents à NCache Indice de Lucene distribué. La raison en est que NCache Distributed Lucene copie les données au niveau du fichier en bloc et non au niveau du document.
Vous pouvez effectuer les types d'importation suivants de l'index Lucene.
Les deux options d'index d'importation Lucene ci-dessus sont possibles via les applets de commande PowerShell.
NCache partitionne et enregistre l'index Lucene dans un environnement distribué et sur chaque NCache serveur. Et, tous les index sont stockés sous forme de plusieurs fichiers. Par conséquent, vous pouvez utiliser des outils de sauvegarde/restauration de système de fichiers réguliers sur eux. Cependant, dans la version actuelle de NCache, la sauvegarde en ligne n'est pas fournie, vous aurez donc besoin d'un temps d'arrêt pour assurer une sauvegarde correcte. Mais, si votre application ne met pas à jour l'index Distributed Lucene au moment de l'exécution, vous pouvez également effectuer des sauvegardes en ligne.
La restauration d'un index Lucene distribué est identique à la restauration des fichiers du système de fichiers et donc possible. Vous devrez peut-être redémarrer votre cache avec les mêmes informations de configuration de distribution que celles que vous aviez lorsque vous avez effectué la sauvegarde.
NCache prend désormais entièrement en charge .NET 6.0. Tout NCache Les serveurs sont compilés en .NET 6.0 (ou .NET Framework 4.8 si vous avez téléchargé cette version). NCache les clients sont également .NET 6.0. Cependant, NCache fournit également un support pour les versions antérieures des deux .NET Core ainsi que .NET Framework en NCache clients.
NCache vous permet désormais d'utiliser la sérialisation JSON pour votre ASP.NET / ASP.NET Core séances. Auparavant, la seule option que vous aviez était d'utiliser la sérialisation binaire fournie par .NET. Nous avons toujours l'option de sérialisation binaire mais dans .NET 6.0, la sérialisation binaire est désactivée par défaut et n'est pas recommandée.
La sérialisation JSON présente également l'avantage que vos objets .NET ne sont pas marqués "sérialisables". Auparavant, vous deviez soit apporter des modifications au code pour marquer tous les objets "sérialisables", soit utiliser la fonction de sérialisation compacte de NCache. Dans les deux cas, cela vous a demandé beaucoup de travail supplémentaire.
Avec la sérialisation JSON, il vous suffit de modifier les paramètres de configuration et de ne pas toucher du tout au code et vous pouvez maintenant commencer à utiliser des objets qui ne sont pas sérialisables dans ASP.NET / ASP.NET Core sessions.
Afin d'inclure tout attribut d'objet dans NCache Requêtes SQL, vous devez d'abord l'indexer. Auparavant, la seule façon d'indexer était de définir un index dans le cadre de NCache configuration. C'est encore possible et c'est un bon moyen de le faire.
Cependant, vous pouvez désormais définir des index de requête par programmation à l'aide d'annotations personnalisées. Avec cela, vous avez maintenant un support complet des différentes façons de créer un index de requête dans NCache.
NCache prend désormais en charge les propriétés nullables pour créer un index, puis les utiliser dans les requêtes SQL. Cette fonctionnalité est fournie car les propriétés et les champs .NET acceptent les valeurs NULL. Mais, auparavant NCache n'a pas fourni de prise en charge de la recherche basée sur des valeurs nulles et maintenant c'est le cas.
NCache prend désormais en charge les index géospatiaux dans la recherche de texte intégral avec Distributed Lucene. Tout comme l'index Lucene de recherche en texte intégral standard, les index géospatiaux utilisent également Lucene.NET en interne pour prendre en charge les requêtes géospatiales. Le package NuGet pour les index géospatiaux est distinct du package NuGet d'index de recherche de texte intégral.
NCache prend désormais en charge la recherche à facettes avec Distributed Lucene. La recherche à facettes est une technique qui consiste à augmenter les techniques de recherche traditionnelles avec un système de navigation à facettes. Cela permet à l'utilisateur d'affiner les résultats de la recherche en appliquant plusieurs filtres basés sur une classification à facettes des éléments.
NCache fournit un package NuGet pour la recherche à facettes qui contient toutes les API nécessaires pour effectuer des recherches à facettes.
Étant donné que .NET CLR utilise la mémoire gérée, le nettoyage de la mémoire et la fragmentation entraînent des problèmes de performances majeurs dans toute application serveur à transactions élevées. NCache a résolu ce problème plus tôt en implémentant une mise en commun d'objets très intelligente et en divisant également des objets plus volumineux en objets de moins de 80 XNUMX, de sorte que LOH n'est pas fréquemment utilisé.
Cette précédente optimisation de la mémoire avait déjà amélioré NCache performances assez élevées pour les "opérations atomiques" les plus couramment utilisées telles que Get, Insert, Update, Delete d'éléments individuels. Cependant, un certain nombre d'autres domaines tels que les opérations en bloc, les index de requête, la recherche SQL, etc. n'ont pas été entièrement optimisés de cette manière et ont donc entraîné une utilisation fréquente des collections LOH et Gen2 et donc pas les meilleures performances.
Maintenant, cette version de NCache a optimisé la gestion de la mémoire dans tous ces domaines, ce qui a entraîné une performance encore plus rapide de NCache tout autour.
Les optimisations suivantes ont été faites :
NCache fonctionnait traditionnellement dans un environnement sur site et il n'était donc pas nécessaire d'utiliser https pour accéder NCache Gestionnaire Web. Mais, maintenant qu'Azure, AWS et d'autres clouds deviennent très répandus, de plus en plus de situations surviennent où un utilisateur peut avoir besoin d'accéder NCache Gestionnaire Web via https.
NCache prend désormais en charge https pour accéder NCache Gestionnaire Web. Par défaut, c'est http mais vous pouvez le configurer pour utiliser https si vous avez un certificat.
NCache a traditionnellement exigé que vous spécifiiez NCache serveurs en fonction de leur adresse IP et non des noms de machine. La raison derrière cela était que dans de nombreuses situations, NCache les serveurs ont plusieurs cartes d'interface réseau (NIC) et vous ne saviez pas à quelle carte réseau le nom de la machine était mappé. Par conséquent, en utilisant l'adresse IP pour NCache serveurs et clients est toujours le moyen préféré.
Mais maintenant NCache vous offre la possibilité de spécifier des noms de machine au lieu de l'adresse IP si vous le souhaitez. Vous pouvez spécifier le nom de la machine pour ajouter un serveur de cache ou un client de cache à la configuration du cache. De même, tous les points de vue sur NCache Web Manager continue d'utiliser les adresses IP par défaut.