일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 양자컴퓨터
- aqqle
- request cache
- Query
- Cache
- aggs
- 테슬라
- Docker
- redis
- file download
- java crawler
- NORI
- IONQ
- ann
- elasticsearch cache
- 아이온큐
- java
- TSLA
- api cache
- mysql
- dbeaver
- vavr
- Aggregation
- KNN
- Elasticsearch
- API
- Analyzer
- Selenium
- JPA
- Elastic
- Today
- Total
목록Cache (5)
아빠는 개발자
Spring의 @Cacheable 애노테이션을 사용할 때 특정 조건에 따라 캐싱을 제어할 수 있음 condition 및 unless 속성을 사용할 수 있는데 이 속성들은 SpEL(Spring Expression Language)을 사용하여 조건을 지정한다. condition 속성은 캐시가 적용될지 여부를 결정하는 조건을 지정합니다.unless 속성은 condition 속성과 반대로 캐싱된 결과가 캐시에 저장되지 않도록 조건을 지정합니다. 특정 매개변수 값과 반환 값을 조합하여 캐시 조건을 설정할 수 있음 @Cacheable(value = "myCache", condition = "#param.length() > 3", unless = "#result.startsWith('No')")
Api 구조 aqqle api 컨셉 - 상품을 검색했을때 상품정보와 상품을 파는 매장정보까지 같이 반환 해주는 API 900gle은 vector의 유사도 검색에 비중을 높였다면 Aqqle 는 캐싱에 좀 더 포커싱을 맞추는 중 지금 까지 작업한 구조는 위와 같다. vector 의 유사도 검색이 들어가긴 하지만 simularity 플래그를 두어서 검색에서 빼는 조건을 추가 상품을 검색하면 상품정보를 가져오고 내 위치 기준 5km 이내의 점포 정보를 가저온다 LOCATION 엔 스토어 위치정보 ITEM 엔 상품정보 이제 테스트를 진행 해보자 근데 문제는 지금도 실행속도가 너무 빠르다. API 평균 : 20.64 API 평균 : 22.27 API 평균 : 21.58 평균 20이라고 치고 location 정보를 ..
검색성능 개선 final 이다. 지금까지 테스트 해본 결과를 바탕으로 구조를 잡아서 테스트 ( final 이라고 해놓고 진격의 거인마냥 final part 1, final part 2, final 1기 1쿨 이렇게 증식되지 않기를 바랄뿐..) 우선 이슈는 픽업 서비스 오픈 이후 response time이 튀는 현상이 발생했다. 당연히 검색쿼리로 데이터 조회 후 처리 로직이 추가되었으니 당연히 응답시간이 늘어나는건데 이것이 문제가 되고 있으니.. 늘어난 응답시간은 100ms 이하라서 사용자가 인지하기 힘든 속도이긴 하나. cloud watch 의 모니터링 대시보드에선 널뛰기를 하는 모습으로 나온다. 그래도 로직이 추가될때마다 성능이 저하된다면 문제가 맞긴 한듯하다 cloud watch의 ALB 대상그룹의 ..
검색결과중 일부 메소드에서 처리하는 데이터 들만 캐싱해야하는 상황.. 일단 구현해보자 https://father-lys.tistory.com/42 에서 세팅한 redis 정보를 활용 우선 컨드롤러 생성 CacheService 의 getCaches 를 호출 package com.doo.aqqle.controller; import com.doo.aqqle.model.CommonResult; import com.doo.aqqle.service.CacheService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.Requ..
전역 서수는 집계 성능을 최적화하는 데 사용되는 데이터 구조입니다. 이는 느리게 계산되어 필드 데이터 캐시의 일부로 JVM 힙에 저장됩니다. 버킷팅 집계에 많이 사용되는 필드의 경우 요청을 수신하기 전에 Elasticsearch에 전역 서수를 구성하고 캐시하도록 지시할 수 있습니다. 힙 사용량이 증가하고 새로 고침 시간이 더 오래 걸릴 수 있으므로 이 작업은 신중하게 수행해야 합니다. 이 옵션은 Eager 전역 서수 매핑 매개변수를 설정하여 기존 매핑에서 동적으로 업데이트될 수 있습니다. 맵핑 옵션 PUT index { "mappings": { "properties": { "foo": { "type": "keyword", "eager_global_ordinals": true } } } } 테스트 해보자 ..