动态添加新的Memcached服务器,而无需重新启动Django

时间:2015-10-30 08:24:38

标签: python django caching memcached pylibmc

我计划在django-cachalot后端使用memcached来缓存项目中的查询。

我在Elastic Beanstalk上进行了此设置,可以通过添加或删除EC2实例来扩展或缩小。目前,当memcached在实例上启动时,我将此实例的IP添加到数据库中。

我创建的pylibmc memcached客户端偶尔为服务器IP读取数据库,如果服务器IP已更改或添加了新IP,则创建新客户端。

如何将服务器动态添加到django的{​​{1}}缓存后端? 或者如何设置memcached客户端memcached手动使用?

1 个答案:

答案 0 :(得分:0)

这可能需要付出很多努力。请记住,django会在您定义的不同memcached服务器之间分发您缓存的对象。因此,当通过自动缩放考虑一个时,其中的所有项目都将丢失。

默认情况下,django不支持动态地将新的memcached服务器添加到列表中。要使其工作,您必须通过修改默认的memcached backend

来创建自定义缓存后端