Memcache는 모든 것을 RAM에 저장하므로 노드가 장애로부터 복구된 후에는 저장 공간을 잃게 됩니다. Memcache는 시작된 후 스크립트를 호출할 수 있는 후크를 제공합니까? 우리는 해당 스크립트가 캐시를 다시 로드하기 위해 외부 서비스에 접속하는 등 "무언가"를 수행하기를 원합니다. 우리는 우분투 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 문서 등을 확인하십시오. 물론 /etc/init.d에서 memcached 시작 스크립트를 제거해야 합니다.
답변2
Memcache는 비영구 캐시입니다(전체 아이디어는 MySQL과 같은 데이터 제공자를 보완하고 가장 많이 사용되는 데이터를 캐시하는 것이지 완전히 교체하는 것이 아닙니다). 따라서 요청한 내용을 달성할 수 없습니다.
'지속적인 memcache'에 대한 논쟁은 그 자체로 웜의 캔입니다.어떤 사람들은'영구적인 memcache'를 구축하면 더 이상 '캐시'가 아니라는 점을 유지하세요.
자세한 내용(여기서 제공할 수 있는 것보다 더 많은 정보)을 확인하세요.이 StackOverflow 게시물.