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 memcached
del inicio estaría en elpost-start
secció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.