Назад | Перейти на главную страницу

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

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

Поскольку вы используете 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.

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

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

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