일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java crawler
- 아이온큐
- java
- vavr
- dbeaver
- Aggregation
- Elastic
- Query
- aqqle
- API
- JPA
- NORI
- aggs
- api cache
- request cache
- elasticsearch cache
- IONQ
- 양자컴퓨터
- Selenium
- file download
- Analyzer
- KNN
- Cache
- Docker
- Elasticsearch
- mysql
- 테슬라
- TSLA
- redis
- ann
- Today
- Total
아빠는 개발자
[Redis] Redis 사용하기 - Java 본문
Redis 를 사용해보자 Jedis 라이브러리를 사용
maven - pom.xml
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
Gradle을 사용한다면 build.gradle
implementation 'redis.clients:jedis:3.7.0'
캐시 생성 예제
import redis.clients.jedis.Jedis;
public class RedisCacheExample {
public static void main(String[] args) {
// Redis에 연결
Jedis jedis = new Jedis("localhost", 6379); // 기본 포트는 6379입니다.
// Redis에 데이터 쓰기
jedis.set("key", "value");
// Redis에서 데이터 읽기
String cachedValue = jedis.get("key");
System.out.println("Cached value: " + cachedValue);
// Redis 연결 닫기
jedis.close();
}
}
예전에 작업중인 코드를 보니.. 이미 스프링부트 레디스 라이브러리를 사용하고 있었음.
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
그래서 추가로 jedis 를 사용하지 않고 RedisTemplate 로 만들어 보면
package com.doo.aqqle.service;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@Service
public class RedisService {
private final RedisTemplate<String, String> redisTemplate;
public RedisService(RedisTemplate<String, String> redisTemplate) {
this.redisTemplate = redisTemplate;
}
public void writeToCache(String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
public String readFromCache(String key) {
return redisTemplate.opsForValue().get(key);
}
}
opsForValue() 메서드는 Spring Data Redis의 RedisTemplate 클래스의 일부입니다. 이 메서드는 Redis의 문자열 값을 다루는 연산에 사용됩니다. Redis는 다양한 데이터 타입을 지원하며, 각 데이터 타입에 맞는 연산을 수행할 수 있습니다.
opsForValue() 메서드를 호출하면 Redis 문자열 값에 대한 작업을 수행할 수 있는 ValueOperations 인터페이스의 구현체를 반환합니다. 이를 통해 다양한 Redis 문자열 연산을 수행할 수 있습니다. 주요한 메서드 중 일부는 다음과 같습니다:
- set(key, value): 주어진 키에 값을 설정합니다.
- get(key): 주어진 키의 값을 가져옵니다.
- setIfAbsent(key, value): 주어진 키에 값이 없을 때만 값을 설정합니다.
- increment(key): 주어진 키의 값을 1만큼 증가시킵니다.
이러한 메서드들을 사용하여 Redis에서 문자열 값을 저장, 조회 및 수정할 수 있습니다. 만약 Redis의 다른 데이터 타입을 다루려면, opsForList(), opsForHash(), opsForSet() 등의 메서드를 사용하여 각각의 데이터 타입에 대한 연산을 수행할 수 있는 인터페이스의 구현체를 얻을 수 있습니다.
테스트
'Redis' 카테고리의 다른 글
[java] Redis @Cacheable condition, unless (0) | 2024.06.06 |
---|---|
IntelliJ IDEA redis 연결 (0) | 2024.06.03 |
[Redis] Redis Queue 설계하기 (0) | 2024.05.17 |
[Redis] Redis cache 설계 - 이론편 (0) | 2024.05.17 |
[Redis] 만료 시간 설정하기 Expire time (redis-cli) (0) | 2024.05.17 |