Django에 Docker를 이용하여 Redis 서버를 올려보자.
Docker는 설치되어있다고 가정합니다.
아래의 글을 참고하였습니다.
[Redis] 도커(Docker)로 Redis 설치하기
[Django SEO] 더 빠르게! - Cache와 압축
docker network create redis-net
docker run -d --name django_redis \
--network redis-net \
-p 6379:6379 \
redis redis-server
docker run -d --name django_redis \
-v /var/myredis:/usr/local/etc/redis \
-v /var/myredis/data:/data \
--network redis-net \
-p 6379:6379 \
redis redis-server \
/usr/local/etc/redis/redis.conf #컨테이너 내부에서의 conf 주소.
/usr/local/etc/redis/redis.conf의 conf 파일로 Redis 설정을 당겨올 수 있다.
redis 공식 conf 문서
appendonly yes
appendfilename "redis_appendonly.aof"
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
stop-writes-on-bgsave-error no
maxmemory 500mb
maxmemory-policy allkeys-lru
AOF 방식으로 저장한다.
기본적으로 32bit일경우 maxmemory는 3GB로 설정되며, 64bit는 무한으로 설정된다.
docker run -it --network redis-net --rm redis redis-cli -h django_redis
pip install django-redis
BACKEND': 'redis_cache.RedisCache'를 설정할 경우 django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'redis_cache.RedisCache': No module named 'redis_cache'
에러가 뜨게 됩니다. django_redis 패키지 내의 모듈이여야합니다.
settings.py
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': 'localhost:6379',
},
}