2015-10-30 27 views
2

我打算使用django-cachalotmemcached後端來緩存我的項目中的查詢。動態添加新的Memcached服務器而不重新啓動Django

我在Elastic Beanstalk上可以通過添加或刪除EC2實例來進行擴展或縮小。目前,當memcached在實例上啓動時,我將此實例的IP添加到數據庫。

pylibmcmemcached我創建的客戶端,偶爾讀取數據庫,用於服務器IP,並在服務器IP已更改或添加新IP時創建新客戶端。

如何動態添加服務器到djangomemcached緩存後端? 或如何設置memcached客戶端django正在使用手動?

回答

0

這可能是很多努力的很少收穫。請記住,django在您定義的不同memcached服務器之間分發緩存的對象。因此,當一個人通過自動縮放而被取消時,其中的所有物品都將丟失。

默認情況下,django不支持將新的memcached服務器動態添加到列表中。爲了使它工作,你將不得不通過修改默認的memcached backend

+0

創建一個自定義緩存後端。這正是我正在做的。即創建自定義緩存後端。我保留了'num_replicas = 4',所以'memcached'創建了緩存的副本,我們放寬了最小緩存,而自動縮放 – Optimus

相關問題