vi /etc/redis.conf
bind 0.0.0.0
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf # nodes.conf는 redis 프로그램이 관리할 파일, 관리자가 건들 필요 X
cluster-node-timeout 3000
cat /var/log/redis/redis.log 확인
Running in cluster mode
redis-cli --cluster create [서버1_IP]:6379 [서버2_IP]:6379 [서버3_IP]:6379
yes
redis-cli
cluster nodes
장고에서 누구에게 갈건지 설정해줘야한다
마스터가 세개이니깐 설정도 변경해줘야한다.
설치
pip install django-cluster-redis
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': ['redis://[마스터 IP]:6379', 'redis://[마스터 IP]:6379', 'redis://[마스터 IP]:6379'],
'OPTIONS': {
'REDIS_CLIENT_CLASS': 'django_cluster_redis.cache.ClusterRedis',
},
}
}
vi /etc/redis.conf
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf # nodes.conf는 redis 프로그램이 관리할 파일, 관리자가 건들 필요 X
cluster-node-timeout 3000
cat /var/log/redis/redis.log
Running in cluster mode
redis-cli --cluster add-node [슬레이브_IP]:6379 [마스터_IP]:6379 --cluster-slave
# 마스터나 슬레이브 아무 터미널에서 명령어를 실행해도 되지만
# 한대의 마스터랑 한대의 슬레이브는 정확하게 입력해줘야한다
redis-cli
cluster nodes
pip install django-cluster-redis
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': ['redis://[마스터 IP]:6379', 'redis://[마스터 IP]:6379',
'redis://[마스터 IP]:6379', 'redis://[슬레이브 IP]:6379',
'redis://[슬레이브 IP]:6379', 'redis://[슬레이브 IP]:6379'],
# 전부 적어주기!
# 슬레이브는 읽기전용 쓰이지는 않지만 마스터 대신? 내용을 사용할 수 있도록
# 추가적인 작업은 sentinel 구성을 해줘야 한다.
'OPTIONS': {
'REDIS_CLIENT_CLASS': 'django_cluster_redis.cache.ClusterRedis',
},
}
}
저 위의 설정말고 다른 방법으로는 안하는지요?
우선 레디스에 접근을 하고 조회를 해서 데이타 존재 여부 확인하고,
없으면 마리아 디비에 접근해서 가져와서 레디스에 적재하는걸 생각하고 있는데
가능할까요?