django docker-compose - > memcached不工作

时间:2016-05-20 09:35:23

标签: django docker django-rest-framework memcached docker-compose

我正在尝试使用docker-compose设置memcached的django(rest框架)。

要使用其余框架启用缓存,我正在使用rest_framework_extensions

docker-compose.yml

django:
  image: python3
  links:
    - database
    - memcached

memcached:
  image: memcached
  ports:
    - "11211:11211"

settings.py

CACHES = {
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
    'LOCATION': 'memcached:11211'
}

viewsets.py

from rest_framework_extensions.cache.mixins import CacheResponseMixin


class JobPublicViewSet(CacheResponseMixin, viewsets.ReadOnlyModelViewSet):
    pass

这是我的问题:

通过上述草图配置和设置,无需缓存任何内容

但是,如果我从设置中删除CACHES条目,缓存工作正常。某处似乎有本地内存缓存的默认设置。

你能看出为什么我的应用程序没有获取用于缓存的memcached吗?

1 个答案:

答案 0 :(得分:8)

默认情况下,官方docker镜像没有设置内存大小, 你需要在docker compose上使用入口点

cache:
   image: memcached
   ports:
     - "11211:11211"
   entrypoint:
    - memcached
    - -m 64