Sei sulla pagina 1di 2

caching

Caching en pocas palabras permite guardar datos en memoria para acceder a ella
rápidamente. Se recomienda aplicar Caching cuando se necesita consultar la misma
información más de una vez, como resultado las aplicaciones pueden obtener estos
datos desde la Cache en lugar de recuperarla desde su fuente de datos original (base
de datos, servicio web, etc). Al usar Cache en nuestras aplicaciones tenemos dos
beneficios:
 Podemos mejorar el rendimiento y la escalabilidad de la aplicación: reduce el
tiempo de respuesta al cliente, el uso del CPU, la utilización de la base de datos y el
ancho de banda.

Disminuye la cantidad de consultas a la base de datos

 Podemos consultar datos desde la Cache aun cuando la fuente de datos no está
disponible.

Fuente de datos no disponible

NOTA: Recomiendo revisar el artículo que habla acerca del Teorema


CAP para recordar el comportamiento que tiene un sistema distribuido.
Tipos de cache
Creo que muchos solo conocen el tipo de Cache Local que es el que vive en el
mismo proceso de un sitio web o en mejor de los casos se encuentra en un
servidor dedicado, pero no es el único tipo de Cache que podemos usar en
nuestra aplicación. A continuación veremos los tipos de Cache más comunes:
Cache Espejo (Mirrored Cache)

Una Cache Espejo está formada por un cluster de dos servidores activo/pasivo.
Todas las peticiones de escritura y lectura que llegan se realizan sobre el servidor
activo. En el caso de las operaciones Insert, Update o Delete que llegan al
servidor activo se sincronizan en background a través de operaciones bulk con el
servidor pasivo. Una Cache Espejo es tan rápido como el tipo Cache Local, pero
al mismo tiempo ofrece confiabilidad (reliability) debido a la replicación que existe
entre en servidor activo y pasivo, en caso el servidor activo quede inoperativo el
servidor pasivo comienza a responder todas las peticiones.
Cache Replicada (Replicated Cache)

Una Cache Replicada consiste de dos o más servidores de Cache en un cluster.


Cada servidor contiene todos los elementos que se encuentran en Cache y
cualquier Update que se realice es sincronizado con todos los servidores del
cluster. Al usar este tipo de Cache podemos realizar operaciones GET
extremadamente rápidas, debido a que todos los servidores tienen el contenido
completo de la cache, cada uno puede responder a las peticiones que realicen
los clientes. El punto en contra es que no es muy escalable para operaciones
del tipo Update por la sincronización que debe realizar con los otros servidores
en el cluster. Es recomendable usar este tipo de Cache cuando se
requiere ejecutar más consultas que transacciones (Insert, Update, Delete)
sobre la cache.

Potrebbero piacerti anche