django docker-compose --> memcached 不工作

django docker-compose --> memcached not working

我正在尝试使用 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 进行缓存吗?

官方docker图片默认没有设置内存大小, 您需要在 docker compose

上使用入口点
memcached:
   image: memcached
   ports:
     - "11211:11211"
   entrypoint:
    - memcached
    - -m 64