D2CampusFest / 3rd

27 stars 4 forks source link

[QuesCheetah] memcached 로 캐시 구현시 status code 가 계속 200으로 response 됩니다. #36

Closed MyeongKim closed 8 years ago

MyeongKim commented 8 years ago

REST API 리소스를 캐싱하기 위해 memcached를 사용해서 구현하려고 합니다.

브라우저에서 request를 할때, Etag 나 Last-Modified header 를 사용해 캐시에 있는 리소스를 사용할 수 있는지 확인할 경우 사용할 수 있다면 304 code, API 서버에서 리소스를 다시 받아와야 하는 경우 200 code가 리턴된다고 알고 있습니다.

장고서버를 캐시서버와 연결하고 도큐를 보며 장고 미들웨어도 설정했는데 304 code가 한번도 나오질 않네요. terminal에서 memcached -vv 명령어를 통해 확인해봤을 때 set, get 이 모두 불리는걸 봐선 캐시 서버가 정상적으로 작동하는 것 같기도 합니다. (??)

request header에 추가로 지정해줘야할 조건이 필요한건지, 아니면 이게 정상적으로 작동하고 있는 건지 궁금합니다.

아래는 postman 으로 테스트시 response header 부분입니다.

2016-02-23 11 13 31

terminal 에서 memcached -vv 명령어를 입력해서 status를 확인하는 화면입니다.

2016-02-23 11 17 24
MyeongKim commented 8 years ago

https://docs.djangoproject.com/en/1.9/topics/cache/#the-per-site-cache