Может ли memcache вызвать скрипт для перезагрузки после запуска в Ubuntu?

Может ли memcache вызвать скрипт для перезагрузки после запуска в Ubuntu?

Поскольку memcache хранит все в оперативной памяти, он потеряет свое хранилище после восстановления узла после сбоя. Предлагает ли memcache хук для вызова скрипта после запуска? Мы хотим, чтобы этот скрипт сделал "что-то", либо обратился к внешней службе и т. д., чтобы перезагрузить кэш. Мы используем Ubuntu 11.

решение1

Поскольку вы используете Ubuntu, вы можете включить задачи memcache в конфигурацию Upstart.

«Хук» для вызова скрипта после memcachedзапуска будет вpost-startраздел конфигурации Upstart.

Ваша конфигурация будет выглядеть примерно так:

# 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

Пожалуйста, проверьте документацию Upstart и т. д. Конечно, вам придется удалить скрипт запуска memcached из /etc/init.d.

решение2

Memcache — это непостоянный кэш (вся идея заключается в том, чтобы дополнять поставщиков данных, таких как MySQL, и кэшировать наиболее используемые данные, а не заменять их полностью), поэтому то, о чем вы просите, не может быть достигнуто.

Спор о «постоянном кэше памяти» сам по себе является банкой червей, посколькунекоторые людиутверждают, что если вы создаете «постоянный кэш памяти», то он больше не является «кешем».

Для получения более подробной информации (гораздо большей, чем я могу предоставить здесь), посетитеэтот пост на StackOverflow.

Связанный контент