아빠는 개발자

[Redis] Redis 사용하기 - Java 본문

Redis

[Redis] Redis 사용하기 - Java

father6019 2024. 5. 15. 17:36
728x90
반응형

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() 등의 메서드를 사용하여 각각의 데이터 타입에 대한 연산을 수행할 수 있는 인터페이스의 구현체를 얻을 수 있습니다.

 

테스트 

 

728x90
반응형