Datos de caché de grupo: una descripción general
Los elementos de los datos de la caché que tienen una relación o pertenecen a la misma categoría se pueden agrupar usando NCachefunción de grupos de. Usando grupos, puede particionar lógicamente sus datos para una mejor eficiencia.
Note
Esta función solo está disponible en NCache Enterprise.
¿Cuándo utilizar grupos de datos de caché?
Supongamos que tiene una cantidad significativa de clientes en su empresa y desea categorizar a los clientes según los ingresos generados. Por ejemplo, la primera categoría debe agregar todos aquellos clientes cuyos ingresos generados superen los $ 1000 como Clientes Importantes al caché.
Esto se puede hacer ejecutando una consulta SQL sobre la base de datos que obtiene los datos resultantes que contienen esos clientes. Sin embargo, para ahorrar el esfuerzo de ejecutar esta consulta SQL cada vez en toda la base de datos, puede agregar el conjunto a los datos de la caché con un nombre de grupo una vez, de modo que los datos residan en ese grupo en particular.
La siguiente tabla es una ilustración del escenario anterior.
¿Por qué usar grupos?
Los grupos mejoran la eficiencia y brindan al usuario la facilidad de buscar o eliminar los datos de la caché según categorías lógicas. Cuando los datos almacenados en caché se agrupan según ciertos criterios racionales, el tiempo para buscar los datos que cumplen los mismos criterios se reduce significativamente. Por lo tanto, la agrupación produce resultados de búsqueda más rápidos, lo que mejora la escalabilidad de su aplicación.
Además, el uso de grupos para almacenar en caché los datos de acceso frecuente que se encuentran bajo criterios de búsqueda específicos ahorra el costo de buscar en la base de datos cada vez.
Propiedades
Jerarquía de un nivel: No hay más nivel de jerarquía después del grupo. Los elementos de caché se pueden separar lógicamente por un solo grupo.
Distingue mayúsculas y minúsculas: Los grupos distinguen entre mayúsculas y minúsculas.
Tipo de datos de cadena: Los grupos solo pueden ser del tipo de datos de cadena.
Sin superposición: Los grupos no se superponen y tienen nombres distintos.
Operaciones CRUD con Grupos
NCache le permite realizar operaciones CRUD en datos con información de grupo mediante el CacheItem
clase. CacheItem
le permite establecer especificaciones adicionales asociadas con un objeto como property
de grupos Los detalles relevantes y el comportamiento se explican a continuación.
Agregar/Actualizar datos con grupos
Puede agregar o actualizar un CacheItem
en el caché especificando un grupo. Mientras tanto, un artículo puede pertenecer a un grupo único, mientras que un grupo puede tener muchos artículos asociados.
El Add
operación agrega un CacheItem
con un grupo al caché y falla con una excepción si la clave ya existe en el caché. Puede actualizar el grupo de un artículo existente utilizando un Insert
operación que sobrescribe el grupo anterior contra el elemento especificado. Si la clave o el grupo contra la clave no existe en la memoria caché, el elemento se agrega con el grupo.
Además, también puede agregar/insertar una colección de elementos con grupos en el caché usando el AddBulk
/InsertBulk
métodos.
Note
Usando el Insert
El método es un enfoque recomendado al agregar un elemento con el grupo al caché, ya que es a prueba de fallas.
Puede agregar o actualizar un CacheItem
en el caché con grupos. En el caso de agregar, si el grupo ya existe, la operación fallará. En el caso de una actualización, si el grupo no existe en la caché, se agregará a la caché; de lo contrario, sobrescribirá el grupo anterior.
Comportamiento
Solo puede haber un único elemento asociado a un único grupo. Es decir, no puede asignar varios grupos a un CacheItem
.
Recuperar datos con grupos
Una vez que los elementos se agregan con grupos al caché, puede recuperar elementos del caché especificando el grupo como criterio de búsqueda. Puede recuperar una lista de claves y un diccionario de claves con elementos de caché utilizando el GetGroupKeys
y GetGroupData
métodos, respectivamente.
Puede recuperar una gran cantidad de CacheItem
desde el caché usando grupos. Puede recuperar una lista de claves o un diccionario de claves y elementos utilizando el GetGroupKeys
y GetGroupData
métodos, respectivamente.
Eliminar datos con grupos
Puede eliminar una gran parte de CacheItem
desde el caché usando grupos. Usted especifica un grupo usando el RemoveGroupData
y luego todas las claves y metadatos que pertenecen al grupo especificado se eliminan de la memoria caché.
Comportamiento de la caché del cliente
Las operaciones de escritura, como agregar y actualizar, se realizan primero en la memoria caché del clúster y se replican en la memoria caché del cliente, respectivamente. Las operaciones de lectura se realizan directamente en los nodos del servidor.
Vea también
Agregar/Actualizar datos de caché con grupos
Recuperar datos de caché con grupos
Eliminar datos de caché con grupo