2015-10-30 24 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

相关问题