현재 프로젝트에서는 Tour-Api 서비스를 이용하고 있는데 외부 api를 호출 할때 Redis를 이용하여 어떻게 하면 더 최소로 호출 하게 만들 수 있을지에 대해서 생각 해봐야한다. 1. 외부 api를 request 마다 계속 호출하게 되면 비용 과금 문제가 발생한다. 2. 똑같은 결과값을 가진다고 가정 했을 때 현재 서버에서 외부 Api 서버를 호출 할때 걸리는 시간이 발생 한다.
도의 정보를 가져오는 api
해당 api의 결과를 보게되면 알 수 있듯이 왠만하면 절대 바뀌지 않을 정보들이다.
"list": [
{
"rnum": 1,
"code": "1",
"name": "서울"
},
{
"rnum": 2,
"code": "2",
"name": "인천"
},
{
"rnum": 3,
"code": "3",
"name": "대전"
},
{
"rnum": 4,
"code": "4",
"name": "대구"
},
{
"rnum": 5,
"code": "5",
"name": "광주"
},
{
"rnum": 6,
"code": "6",
"name": "부산"
},
{
"rnum": 7,
"code": "7",
"name": "울산"
},
{
"rnum": 8,
"code": "8",
"name": "세종특별자치시"
},
{
"rnum": 9,
"code": "31",
"name": "경기도"
},
{
"rnum": 10,
"code": "32",
"name": "강원특별자치도"
},
{
"rnum": 11,
"code": "33",
"name": "충청북도"
},
{
"rnum": 12,
"code": "34",
"name": "충청남도"
},
{
"rnum": 13,
"code": "35",
"name": "경상북도"
},
{
"rnum": 14,
"code": "36",
"name": "경상남도"
},
{
"rnum": 15,
"code": "37",
"name": "전북특별자치도"
},
{
"rnum": 16,
"code": "38",
"name": "전라남도"
},
{
"rnum": 17,
"code": "39",
"name": "제주도"
}
],
자주 변경되지 않는 데이터에 Look-aside패턴 전략을 사용하는게 적합하다.
redis의 아주 기본적인 사용인 Look-aside 패턴으로 "areaCode1:100:1:1" 이 시군구들의 정보를 가져오는 캐시고 "areaCode1:100:1"이 큰 도시들 가져오는 api로 아주 잘 캐싱되고 있다.
서비스 분류 코드조회 Api 개선
serviceCategories도 아주 잘 저장된다.