https://github.com/Dev-Guccin
Guccin
https://github.com/Dev-Guccin
전체 방문자
오늘
어제
  • 분류 전체보기 (172)
    • 알고리즘 (140)
    • 삽질방지 (13)
    • SystemHacking (1)
    • 일상 (4)
    • 개발 (8)
    • 스프링 부트 REST API 개발일지 (5)
    • JPA (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스택
  • 최소힙
  • counter
  • 다이나믹프로그래밍
  • 유클리드호제법
  • 백준
  • Python
  • 큐
  • 이분탐색
  • python3
  • 그리디
  • LIS
  • heapq
  • DP
  • 최대공약수
  • 최단경로
  • 프로그래머스
  • MST
  • 파이썬
  • 그래프
  • 다익스트라
  • 재귀
  • DFS
  • 이분 탐색
  • 백트래킹
  • 유니온 파인드
  • 다이나믹 프로그래밍
  • 12015
  • BFS
  • 재귀함수

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
https://github.com/Dev-Guccin

Guccin

스프링 부트 REST API 개발일지

[Redis] 조회수를 캐시를 적용했지만 속도가 느린 문제 해결

2022. 5. 27. 19:31

문제

https://github.com/sendOwlOrganization/SendOwl/issues/17 을 통해 Redis로 조회수를 갱신하도록 개선함
그러나 실제 스트레스 테스트를 진행하면 sql을 2번 날리는 경우가 더 빠르다.

image


sql update쿼리를 통해 hit를 매번 갱신하는 경우

image


redis를 통해 hit를 갱신하는 경우

해결방법

1. 해당 문제를 개선하기 위해 @Async를 통해 비동기로 Redis의 함수 동작을 바꾸었다.

image


Redis + Async처리한 경우
결과적으로 비동기 처리를 추가하면 조금 더 빨라지는것을 확인가능하다. 그러나 mysql 쿼리를 2번 날리는 것보다는 빠르지 않다.

 

2. Redis 시간복잡도 줄이기

https://www.notion.so/dayparallax/Redis-4ab3e691d9a8494fb3bbc680962ba0c6
우아한 테크 세미나에서 진행한 레디스 강의를 수강하고 레디스 명령어마다 시간복잡도가 존재한다는 것을 알게 되었다.
또한 이러한 시간 복잡도로 인해 실제 성능상에 이슈를 불러온다는 것을 알게 되었다.

따라서 현재 로직에 시간복잡도 문제가 있을 수 있다고 판단하여 redis를 탐색하여 키를 할당하거나 ttl을 설정하는 것을 더 간략하게 만들었다.

image


탐색명령어 제거하여 시간복잡도를 줄인경우

결과적으로 사용하는 명령어를 더 간략하게 만들어 시간복잡도를 줄이니 성능이 개선되었다.

저작자표시 (새창열림)

'스프링 부트 REST API 개발일지' 카테고리의 다른 글

[스프링] spring MVC life cycle  (0) 2022.04.25
JWT (Json Web Token)  (0) 2022.04.05
[SpringBoot] DTO를 어떻게 관리해야할까?  (0) 2022.04.05
[고민] public repository에 application.properties(.yml)의 정보를 어떻게 관리해야할까?  (0) 2022.03.11
    '스프링 부트 REST API 개발일지' 카테고리의 다른 글
    • [스프링] spring MVC life cycle
    • JWT (Json Web Token)
    • [SpringBoot] DTO를 어떻게 관리해야할까?
    • [고민] public repository에 application.properties(.yml)의 정보를 어떻게 관리해야할까?
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin

    티스토리툴바