Django에 Redis를 연결해보자

cloud_park·2023년 9월 18일
0

Django에 Docker를 이용하여 Redis 서버를 올려보자.
Docker는 설치되어있다고 가정합니다.

아래의 글을 참고하였습니다.
[Redis] 도커(Docker)로 Redis 설치하기
[Django SEO] 더 빠르게! - Cache와 압축

redis 내부의 데이터를 보기위하여, redis-net 네트워크 구성

docker network create redis-net

redis 컨테이너 생성

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 문서

cache로 사용하기위한 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는 무한으로 설정된다.

redis CLi로 접속하기

docker run -it --network redis-net --rm redis redis-cli -h django_redis

django-redis 설치

pip install django-redis

Settings.py 설정

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',
    },
}
profile
Now in progress of untitled advance

0개의 댓글