Memcache는 Ubuntu에서 시작된 후 스크립트를 호출하여 자체를 다시 로드할 수 있습니까?

Memcache는 Ubuntu에서 시작된 후 스크립트를 호출하여 자체를 다시 로드할 수 있습니까?

Memcache는 모든 것을 RAM에 저장하므로 노드가 장애로부터 복구된 후에는 저장 공간을 잃게 됩니다. Memcache는 시작된 후 스크립트를 호출할 수 있는 후크를 제공합니까? 우리는 해당 스크립트가 캐시를 다시 로드하기 위해 외부 서비스에 접속하는 등 "무언가"를 수행하기를 원합니다. 우리는 우분투 11을 사용하고 있습니다.

답변1

Ubuntu를 실행 중이므로 Memcache 작업을 Upstart 구성으로 래핑할 수 있습니다.

시작 후 스크립트를 호출하는 "후크" memcachedpost-startUpstart 구성 섹션.

그러면 구성이 다음과 같이 표시됩니다.

# 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 게시물.

관련 정보