NCache, un sistema en memoria distribuido, linealmente escalable y rápido tienda de valor clave permite el almacenamiento en caché de objetos para reducir los viajes de la base de datos y escalar fácilmente cargas más altas. Similarmente, Redis también es una solución de almacenamiento en caché distribuida, pero carece de características clave como SQL & Soporte LINQ, Caché del cliente (InProc) y Agrupación de igual a igual etc para .NET Redis aplicaciones cliente, NCache proporciona una API contenedora idéntica a StackExchange.Redis API para que los usuarios puedan moverse fácilmente a NCache con cambios mínimos de código.
Por lo tanto, el paso real es aprender sobre la migración de Redis a NCache. Este blog proporciona una guía paso a paso sobre lo que se debe hacer para una migración sin problemas desde Redis a NCache.
Necesidad de NCache Envoltorio para Redis para .NET y .NET Core
Habiendo dicho todo lo anterior, ahora imagina un Redis cliente usando un .NET/ puro.NET Core aplicación, que quiere portar con un cambio de código mínimo y funciones adicionales. ¿Qué debe hacer? Usar NCache! Proporciona muchas características y una migración sin inconvenientes desde Redis a NCache.
Sin embargo, por usar NCache con su propio Redis aplicación del cliente, tendría que aprender un montón de NCache, sus características proporcionadas y luego incorporar NCache mientras realiza otras funciones. La aplicación implementada deberá volver a probarse una y otra vez, lo que se convertiría en un proceso muy costoso y problemático.
¿Entonces NCache resolvió el problema mencionado anteriormente de manera muy inteligente; implementó un wrapper over NCache API que es idéntica a la de StackExchange.Redis API. Este es el StackExchange estándar.Redis API debido a que se requiere un cambio de código mínimo para su Redis aplicación cliente para utilizarla de forma escalable con NCache.
Cómo hacer uso de NCache Envoltorio para Redis Fácilmente
La mejor parte de migrar de Redis a NCache es la facilidad de que no se requiere código ni cambio de lógica para la migración. El intercambio de pilas.Redis El comportamiento de la API es el mismo en todo el NCache integrado con Redis aplicación de cliente.
Usted, como usuario, solo tiene que editar algunos espacios de nombres para proporcionar acceso al caché junto con la descarga del Paquete NuGet y toda su aplicación está lista para funcionar. El código fuente de este contenedor junto con una aplicación de muestra se carga en GitHub.
Step 1: Descargar NCache Redis Envoltorio NuGet
NCache proporciona una Paquete NuGet para ser instalado en su StackExchange.Redis solicitud. El paquete NuGet contiene el cliente.ncconf archivo que se utiliza para configurar el cliente de caché para acceder NCache clúster de la máquina cliente.
1 |
Install-Package NCache.StackExchange.Redis |
Paso:2 Agregue el espacio de nombres a su aplicación
Agregue el siguiente espacio de nombres, en su aplicación y archivos fuente:
1 |
NCache.StackExchange.Redis |
Paso 3: Conéctese al caché y al NCache Base de datos
El siguiente paso es conectarse al caché a través del Clase ConnectionMultiplexer que es el objeto central en StackExchange.Redis API que oculta los detalles de múltiples servidores. Asegúrese de que la memoria caché se esté ejecutando para que las operaciones se puedan realizar sin problemas. también puedes aprender como crear un cache de la guía paso a paso en NCache documentación.
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
Al igual que NCache proporciona un Dolor interfaz para obtener una instancia de un NCachecaché de RecibeNCacheInterfaz es obtener el almacenamiento en caché a través del Redis de la interfaz del.
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
Al igual que acceder a un Redis base de datos, es muy simple de usar NCache como un envoltorio como se escribe a continuación.
1 |
var db = ncache.GetDatabase(); |
Además, junto con el resto de su aplicación, puede continuar usando StackExchange.Redis API de la misma manera que estaba usando antes sin ningún cambio de código.
Una vez que su aplicación esté conectada a la NCache clúster de caché, puede realizar operaciones con bastante facilidad y eso es todo, su Redis la aplicación ahora se ha migrado a NCache. Entonces, siguiendo solo unos pocos pasos, migra todo su Redis aplicación a NCache sin ninguna molestia
¿Por qué NCache envoltorio para un Redis ¿Cliente?
Usar NCache para agendar una Redis La aplicación cliente le proporciona los siguientes beneficios:
-
- Consulta SQL y LINQ: NCache proporciona compatibilidad con SQL y LINQ para consultar la memoria caché en función de atributos de objetos, grupos/subgrupos, etiquetas y etiquetas con nombre Esto hace que sea realmente fácil buscar los datos que ha almacenado en el caché.
- Código del lado del servidor (.NET): NCache te permite desplegar código del lado del servidor para ejecutarse en los servidores de caché del clúster. Se proporciona un amplio conjunto de características que le permiten desarrollar e implementar código del lado del servidor en .NET. Algunas características son Leer de parte a parte, Escriba por medio de y Cargador de caché.
- Mantener la memoria caché fresca (dependencias): NCache se asegura de que su caché esté siempre actualizada y de que pueda confiar en la integridad de sus datos. Si los datos en caché se vuelven obsoletos, se actualizan inmediatamente a los de la base de datos. NCache proporciona una lista de características para este propósito como Sincronizar caché con base de datos y Dependencias diferente a Redis que da sólo a través de Expiraciones.
- Rendimiento de caché (caché de cliente (velocidad de InProc)): NCache ofrece Caché de cliente (Near Cache) que es básicamente un caché local muy cercano a su aplicación (InProc/OutProc). Le da a su aplicación velocidad InProc, lo que significa una recuperación más rápida de objetos.
Conclusión
Para resumir, lo que aprendimos del blog es cómo NCache wrapper le permite migrar todo su Redis aplicación a NCache siguiendo una serie de sencillos pasos. Puedes usar fácilmente NCachecaracterísticas de simplemente usando el NCache Redis contenedor sin cambio de código y el StackExchange original.Redis API. Hay muchos otros características proporcionadas por NCache que mejoran el rendimiento de su aplicación y lo ayudan a lograr la escalabilidad que desea.
NCache Detalles Descargar NCache Comparación de ediciones