Memcached es un sistema de caché de memoria disribuido que es muy utilizado actualmente.
Se utiliza para guardar en memoria RAM datos y objetos, de manera de reducir los accesos a una base de datos por ejemplo, lo que permite ahorrar tiempo y recursos de hardware.
Trabaja almacenando los datos en memoria, y de forma dinámica los gestiona eliminando los que utilicen menos y dando lugar a aquellos que se utilicen más. Las aplicaciones que utilizan Memecached primero ven si pueden obtener los datos del caché y de no ser así lo buscan en la base de datos (siguiendo el ejemplo anterior)
Sitios web de altísimo tráfico como youtube.com y twitter.com hacen uso de esta tecnología.
Veamos como instalarlo en CentOS 6.x
Procedemos desde la consola con el gestor de paquetes RPM Yum:
yum install memcached.x86_64 php-pecl-memcache.x86_64
Procedemos a setear valores apropiados en el archivo de configuración, que está ubicado en
/etc/sysconfig/memcached
Por defecto viene así:
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="
Veamos las opciones a editar:
MAXCONN: Conexiones simultáneas máximas, por defecto viene en 64MB pero para servers de alto tráfico debería ser aumentado a 4096
CACHESIZE: La memoria que se utiliza para cachear objetos, por defecto viene en 64MB pero bdebería ser optimizada en servers de alto tráfico, por ejemplo a 1024MB
OPTIONS: Podemos especificar una IP en particular, por defecto toma «localhost»
Para gestionar el servicio (iniciar, detener, reiniciar, estado)
/etc/init.d/memcached start /etc/init.d/memcached stop /etc/init.d/memcached restart /etc/init.d/memcached status
Para verificar que el servicio está corriendo adecuadamente:
# pgrep memcached # netstat -tulpn | grep :11211
Podemos generar estadísticas de uso del servicio en tiempo real mediante:
memcached-tool 127.0.0.1:11211 stats
Así de sencilla es la instalación y configuración de este servicio desde el lado del servidor.