본문 바로가기
Study/WEB

Docker를 이용한 Redis 환경 구축하기

by Becoming a Hacker 2022. 10. 6.
반응형

Docker 관련 포스팅 링크

 

Docker 명령어 정리

Mac에서 도커 설치 $ brew install --cask docker Docker Hub에서 이미지 가져오기 docker pull [docker images] 이미지 목록 확인하기 # 일반 명령어 docker images docker image ls # 이미지 id만 보기 docker i..

hacksms.tistory.com

 

docker Image 설치

$ docker pull redis:alpine

 

docker 실행

$ docker run --name my-redis -p 6379:6379 -v redisFolder:/data -d redis:alpine redis-server

 

Host에서 Redis 접속

$ redis-cli -h localhost

 

Djagno 환경

views.py

import redis
import json
from django.shortcuts import render
from django.http import HttpResponse
from django.views.generic import View
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
import logging
logger = logging.getLogger('django.server')

# Create your views here.
class redisInstance:
    def __init__(self):
        self.redis = redis.Redis()
        self.EXPIRE_TIME = 30 # 30초

    def get(self, key):
        return self.redis.get(key).decode()

    def setex(self, key, value):
        self.redis.setex(key, self.EXPIRE_TIME ,value)

@method_decorator(csrf_exempt, name='dispatch')
class indexView(View):
    def get(self, request, *args, **kwargs):
        return HttpResponse("Get")

    def post(self, request, *args, **kwargs):
        try:
            r = redisInstance()
            req = json.loads(request.body)
            key = req.get("key","")
            value = req.get('value',"")

            r.setex(key,value)
            data = f"{key} / {value} / {r.get(key)}"
            return HttpResponse(data)
        except Exception as e:
            logger.info(e)
            return HttpResponse("Error")

 

반응형

댓글