django docker-compose - > memcached不工作

cre*_*ers 2 django memcached django-rest-framework docker 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"
Run Code Online (Sandbox Code Playgroud)

settings.py

CACHES = {
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
    'LOCATION': 'memcached:11211'
}
Run Code Online (Sandbox Code Playgroud)

viewsets.py

from rest_framework_extensions.cache.mixins import CacheResponseMixin


class JobPublicViewSet(CacheResponseMixin, viewsets.ReadOnlyModelViewSet):
    pass
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

使用上面概述的配置和设置,不会缓存任何内容.

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

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

小智 8

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

cache:
   image: memcached
   ports:
     - "11211:11211"
   entrypoint:
    - memcached
    - -m 64
Run Code Online (Sandbox Code Playgroud)