Spring Cache - Redis 설치 및 CRUD

jinvicky·2023년 10월 26일
0

Spring & Java

목록 보기
10/23

Overview


Spring boot 환경에서 Caching을 위해 Redis를 연동하는 삽질 도중, Redis Caching을 위해 꼭 RedisTemplate이나 dialect방식이 필요하지 않다는 것을 배웠다.

Caching에서는 다른 방식을 쓸 것이지만, 그 과정에서 알게 된 Redis 기본 설치 과정, CRUD나 저장하는 자료구조 타입 등에 대해서 간략히 적었다.

1. Redis 설치

환경 : windows
Reference
https://inpa.tistory.com/entry/REDIS-📚-Window10-환경에-Redis-설치하기

중요 파일은 아래와 같다.

redis-cli

: 터미널에서 명령어를 실행한다.

redis.window.cof

: 'foobared'를 검색해서 비밀번호를 설정할 수 있다.
: 'bind'를 검색해서 ip 주소 주석을 해제할 수 있다.

2. RedisTemplate과 CrudRepository

Redis를 설정하는 RedisConfig를 작성할 때 많은 블로그들이 Lettuce와 RedisTemplate을 등록하는 방식을 많이 쓴다.

원하는 것이 Redis Caching(레디스 캐싱)이라면,
@Cachable, @CachEvict, Spring CacheManager를 검색해서 방법을 찾자.

Reference

차이점이라면 CrudRepository 방법은 CrudRepository를 상속받아서 부모 메서드들을 그대로 사용하는 것이고,
RedisTemplate 방법은 RedisTemplate을 Config 클래스에 등록을 한 다음, redisTemplate.opsForValue().set() 등을 사용하여 각각 Crud 메서드들을 구현하는 방법이다.
*opsForValue()는 Redis 저장 타입에 따라서 메서드가 바뀔 수 있다.

3. Redis 명령어들

redis-cli를 실행해서 저장소 내부를 검색하다 보니
redis에 저장한 데이터의 타입별로 조회하는 명령어가 다르다는 것을 알 수 있었다.

keys * : 전체 등록된 key들을 조회
semembers 키 : Set 타입으로 저장된 키의 멤버들을 조회

Reference

4. 기타 경험

JPA와 Redis 도메인 클래스를 생성하면서 @Id 어노테이션의 Import 경로가 헷갈려 에러가 난 적이 있다.

Reference

profile
Front-End와 Back-End 경험, 지식을 공유합니다.

0개의 댓글