Los sistemas operativos manejan diferentes formas de administrar los datos registrados y una de estas es que en la memoria del equipo, se guarda la caché. Esta caché es enviada por los objetos web y en la memoria esta caché integran una serie de parámetros e instrucciones que permiten sean leídos por la CPU y con esto se ofrece un acceso mucho más rápido a dichos sitios.
Sin embargo una acumulación de esta caché puede ser factor de errores en especial si los objetos web (como las páginas web) cambian de IP o de valores, para administrar de una forma más integral la caché disponemos de una utilidad llamada “Encachad” y veremos cómo usarla en CentOS 8.
Para comprender como memchached ayuda a este proceso debemos entender que la aplicación usará partes del sistema donde existe memoria de sobra y que no usamos, y esa porción la implementa en el área escasa o necesitada, esto facilita lo siguiente:
- Que cada nodo pueda ser independiente del otro
- Que cada nodo pueda hacer uso de la memoria de otros nodos para optimizar procesos donde falta memoria
- Un software de cliente, el cual lista los servidores memcached disponibles
- Integración de un algoritmo de hashing, este algoritmo está basado en el cliente y permite seleccionar un servidor basado en la clave distribuida para temas de seguridad.
- El software de servidor en el cual se almacenan los valores con sus respectivas claves asignadas en una tabla hash interna.
- La LRU la cual indica en qué momento memcached debe acceder a los datos antiguos para acelerar procesos
1. Cómo instalar Memchached en CentOS 8
De forma predeterminada, los paquetes de Memcached están incluidos en los repositorios de CentOS 8. Esto permite que usemos el administrador de paquetes dnf para su instalación.
Vamos a ejecutar lo siguiente:
sudo dnf install memcached libmemcached
Ingresamos la letra “s” para validar la descarga e instalación de Memchached y sus paquetes:
Es posible acceder a información detallada sobre el paquete Memcached con la siguiente orden:
rpm -qi memcached
Allí encontramos detalles puntuales de Memcached.
Memcached puede ser instalado directamente desde la fuente con las siguientes líneas:
sudo yum install libevent-devel sudo wget https://memcached.org/latest tar -zxf memcached-1.x.x.tar.gz cd memcached-1.x.x ./configure --prefix=/usr/local/memcached make && make test && sudo make install
2. Cómo configurar Memcached en CentOS 8
La configuración de Memcached está disponible en el archivo /etc/sysconfig/memcached y dispone de diferentes variables a usar.
Por defecto, Memcached escucha el puerto 11211 y está configurado para escuchar solo el sistema localhost como podemos ver en el archivo:
nano /etc/sysconfig/memcached
Si necesitamos configurar Memcached con el fin de que las aplicaciones en los sistemas remotos estén en la capacidad de conectarse al servidor, allí debemos cambiar la dirección de host local 127.0.0.1 a la dirección del host remoto.
Los valores en este archivo son:
En caso de permitir conexiones externas, debemos habilitar los permisos de Firewall:
sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent sudo firewall-cmd –reload
Confirmamos que el puerto este autorizado con el siguiente comando:
sudo firewall-cmd --list-ports | grep 11211
Vamos a iniciar y habilitar Memcached al inicio del arranque de CentOS 8:
sudo systemctl start memcached sudo systemctl enable memcached
Comprobamos el estado de Memcached:
sudo systemctl status memcached
3. Cómo habilitar Memcached para las aplicaciones CentOS 8
Algunas aplicaciones cuentan con tecnología PHP, estas permiten instalar la extensión php-pecl-memcache con el fin de que la aplicación pueda establecer una conexión con el servidor Memcached:
sudo dnf install php-pecl-memcache (extensión de memcached para PHP) sudo dnf install perl-Cache-Memcached (extensión de memcached para PERL) sudo dnf install python-memcached (extensión de memcached para PYTHON)
Para validar las estadísticas del servidor local ejecutaremos lo siguiente:
memcached-tool 127.0.0.1 stats
Memcached es una opción integral para administrar la cache en nuestro servidor CentOS 8.