일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 테슬라
- Elastic
- aqqle
- 아이온큐
- IONQ
- NORI
- file download
- API
- 양자컴퓨터
- api cache
- Cache
- request cache
- Aggregation
- java crawler
- Selenium
- mysql
- redis
- Query
- Analyzer
- Elasticsearch
- KNN
- ann
- java
- aggs
- vavr
- elasticsearch cache
- TSLA
- JPA
- Docker
- dbeaver
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 |