¿Puede Memcache invocar un script para recargarse después del inicio en Ubuntu?

¿Puede Memcache invocar un script para recargarse después del inicio en Ubuntu?

Dado que Memcache almacena todo en la RAM, perderá su almacenamiento después de que un nodo se recupere de una falla. ¿Memcache ofrece un gancho para invocar un script después de que se inicia? Queremos que ese script haga "algo", ya sea que acceda a un servicio externo, etc., para recargar el caché. Estamos usando Ubuntu 11.

Respuesta1

Dado que está ejecutando Ubuntu, puede incluir las tareas de Memcache en una configuración Upstart.

El "gancho" para invocar un script después memcacheddel inicio estaría en elpost-startsección de la configuración Upstart.

Su configuración entonces se verá así:

# memcached - in-memory cache
#
description "memcached"

start on (local-filesystems and started networking)
stop on runlevel [!2345]

respawn

pre-start script
  test -x /usr/bin/memcached || { stop; exit 0; }
end script

exec /usr/bin/memcached -v -m 64 -p 11211 -u nobody -l 127.0.0.1

post-start script
  /usr/local/bin/populate-memcache.sh
end script

Consulte la documentación de Upstart, etc. Por supuesto, deberá eliminar el script de inicio de Memcached de /etc/init.d.

Respuesta2

Memcache es un caché no persistente (la idea es complementar los proveedores de datos como MySQL y almacenar en caché los datos más utilizados, no reemplazarlos por completo), por lo que no se puede lograr lo que está pidiendo.

El argumento sobre el 'Memcache persistente' es una lata de gusanos en sí mismo, comoalgunas personasmantenga que si construye un 'Memcache persistente', entonces ya no es un 'caché'.

Para obtener más detalles (muchos más de los que puedo proporcionar aquí), consulteesta publicación de StackOverflow.

información relacionada