Martes, 14 de mayo de 2019
NCache 5.0 contiene algunas funciones importantes relacionadas con la agrupación y el almacenamiento en caché. La versión también contiene importantes mejoras de rendimiento. NCache 5.0 es una actualización recomendada para todos NCache usuarios.
Las siguientes son algunas mejoras realizadas en esta versión:
NCache La API se ha refactorizado para que sea más simple y fácil de usar al reducir la cantidad de sobrecargas a varios métodos. La nueva API también utiliza las funciones más recientes de C# y .NET Framework (Biblioteca paralela de tareas, métodos asíncronos y genéricos).
Se realizan las siguientes mejoras en el NCache marco de mensajería.
Sin embargo, para las suscripciones duraderas (suscripciones con nombre), los mensajes se almacenan hasta que se envían a TODOS o CUALQUIERA de los suscriptores dentro de esa suscripción. Si un suscriptor duradero vuelve tras una desconexión brusca (salir sin llamar a Darse de baja), podrá recibir los mensajes publicados durante el tiempo que estuvo caído.
Sin embargo, los mensajes se eliminan de la tienda después de su vencimiento, incluso si no se envían a TODOS o NINGÚN suscriptor.
Hay otras dos políticas en las suscripciones duraderas.
-Compartido, donde puede haber múltiples suscriptores en una suscripción.
-Exclusivo, donde solo puede haber un suscriptor a la vez en una suscripción. Todas las suscripciones no duraderas son exclusivas.
En esta versión se realizan algunas mejoras de rendimiento importantes. Los subsistemas centrales se rediseñaron para obtener un mejor rendimiento de las operaciones de caché. Algunas de estas mejoras incluyen la incorporación de las últimas librerías como System.IO.Pipelines de Microsoft. System.IO.Pipelines es una nueva biblioteca diseñada para facilitar la realización de E/S de alto rendimiento en .NET.
Todos NCache los eventos ahora usan internamente el más confiable NCacheEl marco Pub/Sub de . Los siguientes tipos son eventos que ahora se basan en Pub/Sub.
NCacheEl SQL de ahora se ha mejorado para tener proyecciones, así como la cláusula FROM en una instrucción SQL. Anteriormente, no había proyecciones en la instrucción SQL y, como resultado, se devolvían elementos de caché completos que coincidían con los criterios dados.
Se proporciona soporte para buscar elementos de caché por su 'Grupo' a través de SQL. Con esta característica, los usuarios pueden consultar la memoria caché para devolver elementos de la memoria caché contra un 'Grupo' tal como lo hacen con las 'Etiquetas'.
Tradicionalmente NCache almacena elementos en el caché como datos binarios. La serialización binaria puede ser costosa tanto en términos de tiempo como de memoria que consume. En NCache 5.0, los usuarios pueden configurar opcionalmente Cache para tener un almacén serializado JSON. La serialización JSON es eficiente en la mayoría de los casos.
NCache ahora tiene tipos de datos distribuidos y estructuras de datos proporcionados como implementaciones de las interfaces de .NET. Se proporcionan las siguientes implementaciones.
System.Collections.Generic.IList<T>
. Permite duplicar llaves y conserva su orden.System.Collections.Generic.ICollection<T>
. No permite la duplicación de llaves y no conserva el orden. DistributedHashSet tiene métodos adicionales para Unión, Intersección y Diferencia de dos conjuntos.System.Collections.Generic.IDictionary<TKey, TValue>
. Permite a los usuarios almacenar datos en pares clave-valor. El orden no se conserva en esta estructura de datos.System.Collections.Generic.ICollection<T>
. Sin embargo, los datos almacenados en esta estructura de datos se consumen en el modelo FIFO, como es el caso de las Colas.Detener un nodo de servidor en modo de mantenimiento hace que el redisdistribución de datos entre los nodos restantes. Esto puede tomar mucho tiempo dependiendo de los datos en el caché. Durante este tiempo, la memoria caché está en un estado vulnerable y algunas operaciones pueden fallar o tardar más en ejecutarse.
Con esta nueva característica, cuando un nodo se detiene por mantenimiento, los datos en el caché no se redistributado. La característica es útil cuando un nodo en el clúster se detiene por un breve período de tiempo para aplicar parches u otro trabajo de mantenimiento.
La afinidad de ubicación significa mantener los elementos de caché relacionados en un nodo. Esta característica puede ser útil de muchas maneras, como consultas más rápidas y operaciones masivas, etc.
Lucene.NET es una biblioteca de motor de búsqueda de texto, pero no se distribuye. Con NCache's Lucene.NET SDK, los usuarios podrán crear índices de Lucene distribuidos y consultarlos. NCacheEl SDK de Lucene.NET es similar a la biblioteca Lucene.NET, por lo tanto, los usuarios no tienen que aprender mucho para usarlo NCacheAPI de DistributedLucene.NET.
. NET Core basado NCache El servidor también estará disponible en Windows. Anteriormente, solo estaba disponible en Linux.
Este es un nuevo esquema de licencias en el que las licencias solo se activan en los servidores de caché. Sin embargo, los servidores de caché también se activan para permitir que una cierta cantidad de clientes se conecten con los cachés. El número de licencias de servidor y cliente requeridas es el mismo que en el esquema de activación Cliente-Servidor.
NCache la configuración, la gestión y la supervisión se realizan a través de una aplicación basada en web. De forma predeterminada, esta aplicación se instala en todos los servidores y clientes de caché. Los usuarios pueden conectarse con cualquiera de los servidores desde sus navegadores para administrar sus clústeres de caché.
La aplicación es ASP..NET Core basado y, por lo tanto, puede ejecutarse tanto en Windows como en Linux. Esta aplicación tiene todas las características como el escritorio basado NCache Gerente tenía. Basado en escritorio NCache Manager y Monitor están discontinuados.
Se agregan los siguientes comandos de Powershell;