| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 실행 컨텍스트
- 영속성 컨텍스트
- 스프링 시큐리티
- cache
- NoSQL
- 캐시
- 게시판
- 레디스
- Redis
- cursor
- pagination
- Spring Boot
- document database
- 자바의 정석
- spring security
- VMware
- db partition
- JPA
- 다이나믹프로그래밍
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 스프링 부트
- 동적계획법
- 정보처리기사
- in-memory
- sqld
- DB파티션
- 스프링부트
- 호이스팅
- 정처기
- SQL
- Today
- Total
목록Redis (3)
FreeHand
요즘 레디스를 공부하면서 간단하게라도 서비스에 실제로 사용해보고 싶다는 생각이 들었다.그래서 레디스를 바로 적용해 볼 수 있는 것을 찾아봤다.그렇게 발견한 후보는 아래 두 가지다. 1. 대시보드 통계 쿼리 결과를 저장해 두는 캐시2. 인증번호 저장 기존에는 레디스를 사용하지 않았으므로 당연히 DB를 사용해서 구현했다.이제 레디스로 바꿔보겠다. (실제 코드를 바탕으로 재구성한 것임) 캐시로 사용하기현재 관리자 대시보드에는 통계 데이터를 그래프로 보여주고 있다.해당 쿼리들이 꽤나 복잡하기도 하고, 화면 하나에 여러 정보가 있어서 페이지가 로드될 때 많은 DB 조회가 발생해서 캐시를 사용하면 좋겠다고 생각했다. @Transactional(readOnly = true)@Cacheable( value = ..
시작하며지난번에 Redis의 특징과 데이터 타입에 대해 정리했었다. 이번에는 캐시에 대한 전반적인 개념과 스프링 부트 프로젝트에서 다양한 상황에 적용할 수 있는 redis사용법을 정리하려고 한다. 스프링 (부트) 기반으로 간단한 프로젝트를 해봤다면 쉽게 이해할 수 있을 것 같다. 프로젝트 설정Spring Boot에서 Redis를 사용하려면 역시 의존성을 추가해야 한다.나는 Spring Initializr에서 Spring Data Redis 의존성을 추가했다. build.gradle의 dependencies에 아래 코드를 추가해도 된다.implementation 'org.springframework.boot:spring-boot-starter-data-redis' 의존성 추가 이후에는 applicati..
시작하며백엔드 개발자에게 캐시는 중요한 개념이다. DB에 있는 데이터에 접근하는 것은 결국 디스크 I/O가 발생하는 것이고 이는 매우 느리기 때문에 대용량 요청이 들어올 경우 병목현상의 원인이 된다. 이를 부분적으로 해결하기 위한 방법으로 캐시를 활용할 수 있고 대표적으로 많이 사용하는 Redis의 특징과 데이터 타입에 대해 알아본다. Redis의 특징Redis는 흔히 사용하는 RDB와 몇 가지 차이가 있다. 우선 SQL을 사용하는 RDB와 달리 SQL을 사용하지 않는 Key-Value 형태의 저장소인 NoSQL이다.따라서 복잡한 쿼리를 작성할 필요가 없고 Hash를 이용해 값을 읽으므로 속도가 더 빠르다.그러나 쿼리를 사용하지 않는 것은 범위 검색과 같은 복잡한 질의가 불가능하다는 단점이 되기도 한다..