我正在尝试使用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吗?
答案 0 :(得分:8)
默认情况下,官方docker镜像没有设置内存大小, 你需要在docker compose上使用入口点
cache:
image: memcached
ports:
- "11211:11211"
entrypoint:
- memcached
- -m 64