1.로그인,로그아웃 서비스
2.AI 챗봇 서비스
3.캐시
등등에 사용할 레디스를 미리 설정한다.
/* Redis */
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'io.lettuce.core:lettuce-core' // 기본 클라이언트
#Redis
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=
spring.data.redis.timeout=
package website.server.Global.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
// Key와 Value의 직렬화 설정
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
위와 같이 사용할 redisTemplete를 미리 빈으로 등록해 놓는다.
추후 커스터마이징 또한 가능하다.
redistemplete는 레디스와 상호작용할 수 있는 다양한 메서드를 제공하며, 레디스에 데이터를 저장하거나 가져오는 등의 작업을 쉽게할 수 있다.
RedisConnectionFactory는 Redis와의 연결을 설정하는 인터페이스입니다. 이 인터페이스는 Redis의 연결을 처리하는 ConnectionFactory 구현체에 의해 제공됩니다. 보통 Lettuce나 Jedis를 사용하여 Redis와 연결을 만듭니다.
setConnectionFactory(connectionFactory)
RedisTemplate에 연결 팩토리를 설정합니다. connectionFactory는 Redis에 연결을 생성하는 데 필요한 정보를 제공하는 객체입니다.
Key 직렬화: template.setKeySerializer(new StringRedisSerializer())는 Redis의 Key를 직렬화할 때 StringRedisSerializer를 사용하도록 설정합니다.
이는 문자열을 Redis에서 적절히 처리할 수 있도록 직렬화하는 방법입니다.
Value 직렬화: template.setValueSerializer(new GenericJackson2JsonRedisSerializer())는 Redis의 Value를 직렬화할 때 GenericJackson2JsonRedisSerializer를 사용하여 JSON 형태로 직렬화합니다.
GenericJackson2JsonRedisSerializer는 자바 객체를 JSON 문자열로 변환해 Redis에 저장하고, Redis에서 가져올 때 JSON을 자바 객체로 역직렬화합니다.