일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Aggregation
- api cache
- vavr
- request cache
- NORI
- KNN
- redis
- JPA
- java
- 양자컴퓨터
- Selenium
- 아이온큐
- Analyzer
- file download
- Query
- Elasticsearch
- 테슬라
- IONQ
- Elastic
- aggs
- API
- mysql
- Docker
- dbeaver
- Cache
- java crawler
- TSLA
- ann
- elasticsearch cache
- aqqle
Archives
- Today
- Total
아빠는 개발자
[Aqqle] Aqqle API (상품 + 상점정보) 본문
728x90
반응형
Api 구조
aqqle api 컨셉 - 상품을 검색했을때 상품정보와 상품을 파는 매장정보까지 같이 반환 해주는 API
900gle은 vector의 유사도 검색에 비중을 높였다면 Aqqle 는 캐싱에 좀 더 포커싱을 맞추는 중
지금 까지 작업한 구조는 위와 같다. vector 의 유사도 검색이 들어가긴 하지만 simularity 플래그를 두어서 검색에서 빼는 조건을 추가
상품을 검색하면 상품정보를 가져오고 내 위치 기준 5km 이내의 점포 정보를 가저온다
LOCATION 엔 스토어 위치정보
ITEM 엔 상품정보
이제 테스트를 진행 해보자 근데 문제는 지금도 실행속도가 너무 빠르다.
API 평균 : 20.64 | API 평균 : 22.27 | API 평균 : 21.58 |
평균 20이라고 치고 location 정보를 캐싱해보자
@Cacheable(value = CacheKey.DISTANCE, key = "T(com.doo.aqqle.utils.KeyGenerator).cacheKey('getDistance', #request.distance, #request.countryCode)")
어제 만들어 놓은 keyGenerator 를 통해서 '메소드명', '거리', '국가코드' 3개를 key로 생성
애매하네 전체키 삭제하고 다시 테스트
flushall
API 평균 : 15.83 | API 평균 : 15.59 | API 평균 : 15.0 |
키가 하나로 생성됐고 호출되는 쿼리도 location 정보는 호출 안되는 것을 보면 cache 는 재대로 생성된 듯하다.
상품, 위치정보 두개의 정보만 테스트 해보았지만. 좀 더 다양한 데이터와 검색어에 맞는 cache 생성에 대한 작업을 추가해봐야 겠다.
728x90
반응형
'Aqqle' 카테고리의 다른 글
[Aqqle] 회원관리 (0) | 2024.08.10 |
---|---|
[Aqqle] API - 상품 (0) | 2023.10.07 |
[Aqqle] Aqqle 기획 (0) | 2023.09.02 |