在 Ubuntu 上,memcache 啟動後可以呼叫腳本來重新載入自身嗎?

在 Ubuntu 上,memcache 啟動後可以呼叫腳本來重新載入自身嗎?

由於 memcache 將所有內容儲存在 RAM 中,因此在節點從故障中恢復後,它將丟失其儲存內容。 memcache 是否提供一個鉤子來在啟動後呼叫腳本?我們希望該腳本執行“某些操作”,或訪問外部服務等,以重新載入快取。我們使用的是 Ubuntu 11。

答案1

由於您執行的是 Ubuntu,因此您可以將 memcache 任務包裝到 Upstart 設定中。

啟動後呼叫腳本的「鉤子」memcached將位於post-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文件等。

答案2

Memcache是​​非持久性快取(整個想法是補充MySQL等數據提供者並快取最常用的數據,而不是完全取代它們),因此您所要求的無法實現。

關於「持久記憶體快取」的爭論本身就是一堆蠕蟲,因為有些人堅持認為,如果您建立“持久記憶體快取”,那麼它就不再是“快取”。

有關更多詳細資訊(比我在這裡可以提供的更多),請查看這個 StackOverflow 帖子

相關內容