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
我正在尝试使用 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