This repository has been archived by the owner on Aug 13, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
대용량 트래픽 게시글 검색시 캐싱 적용 #29
Labels
working
작업중입니다.
Comments
junshock5
added a commit
that referenced
this issue
Aug 15, 2020
spring-boot-starter-cache 의존성 추가 Redis Cache를 사용하기 위한 cache manager 등록 Product register시 @CacheEvict를 사용하여 캐시 삭제
junshock5
added a commit
that referenced
this issue
Aug 24, 2020
- 레디스 기본 만료시간 설정명 변경 - 레디스 주석 내용 변경
junshock5
added a commit
that referenced
this issue
Aug 31, 2020
#29 게시글 검색시 @Cacheable을 사용하여 RedisCache 적용
junshock5
added a commit
that referenced
this issue
Sep 7, 2020
- redisTemplate json 형식 받을시 값이 깨지지 않게 직렬화하고 클래스 여러개 사용 가능한 bean 등록 - CategoryDTO builder 적용 - ProductSearchController 검색시 초기 캐싱된 게시글로 조회되게 변경 - 사용하지않는 UserDTO RedisHash 삭제 - ProductSearchMapper selectProducts 인자 ProductDTO -> productStatus 변경 - ProductSearchServiceImpl init함수에서 게시글 최대 2000개 redisTemplate에 push - addRedisKeys, findAllProductsByCacheId 게시글 추가시 캐시 추가하는 함수, 캐싱되어있는 게시글 반환 함수 추가 - RedisKeyFactory redisTemplate 에 key 저장시 종류에따라 key반환하는 클래스 생성
junshock5
added a commit
that referenced
this issue
Sep 8, 2020
- redisTemplate과 Product관련 데이터를 reids에 CRUD하는 것들을 ProdcutDao로 변경 - Product 검색시 필요한 상수 데이터들 ProductDTO로 변경 (검색 갯수, 캐시명, 카테고리 정보)
junshock5
added a commit
that referenced
this issue
Sep 12, 2020
- ProductDao 추가, RedisTemplate을 이용한 product key 발급 및 bean 등록시 DEFAULT_PRODUCT_SEARCH_CACHE_KEY에 최대 2000개 게시글 등록 - 프로그램 종료시 DEFAULT_PRODUCT_SEARCH_CACHE_KEY 삭제 - 물품 삭제시 물품id값을 이용해 RedisTemplate에 등록되어있는 value의 index를 찾아 삭제 - 물품 조회시 DEFAULT_PRODUCT_SEARCH_CACHE_KEY에 있는 values 를 조회 - 물품 등록시 Product auto-Increment index를 가지고 RedisTemplate에 등록
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
스프링 부트 환경에서 캐싱 사용법은
Redis, Memcahced, Ehache와 같은 다양한 cahce 솔루션과
순수 java방식의 spring
@Caheable
방식이 있습니다.고려할 점으로는 업무 로직과 캐싱 로직의 완벽한 분리를 통해서 (프락시 패턴을 사용) 확장성 있게 적용하려고 합니다.
예시로는
@Cacheable
이 설정되어 있는 메서드는 Spring AOP를 통해 캐싱 처리됩니다.The text was updated successfully, but these errors were encountered: