728x90
이전글
Redis 로컬 설치 방법은 다음 글을 참고하세요
Reids 설정
Spring Gradle 의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
application.yml host, port 추가
spring:
redis:
host: localhost # 저는 EC2 환경이므로 EC2 DNS 주소를 입력하였습니다.
port: 6379
config.class 생성
@Configuration
public class RedisConfig {
@Value("${spring.redis.host")
private String host;
@Value("${spring.redis.port")
private int port;
@Bean
public RedisConnectionFactory redisConnectionFactory(){
return new LettuceConnectionFactory(host, port);
}
}
application.yml에서 작성한 값을 @Value를 통해 입력받습니다.
하단에 LettuceConnectionFactory를 반환 받게 되는데, Lettuce를 쓰는 이유는 다음과 같습니다.
- netty 기반
- 다중 스레드 공유
Redis Template
상단의 config에 다음 내용을 추가합니다.
@Configuration
public class RedisConfig {
...
@Bean
public RedisTemplate<?, ?> redisTemplate(){
RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>();
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(redisConnectionFactory());
return redisTemplate;
}
}
Redis Dao
@Component
public class RedisDao {
private final RedisTemplate<String, String> redisTemplate;
public RedisDao(RedisTemplate<String, String> redisTemplate) {
this.redisTemplate = redisTemplate;
}
public void setValues(String key, String value) {
ValueOperations<String, String> values = redisTemplate.opsForValue();
values.set(key, value);
}
public void setValues(String key, String value, Duration duration) {
ValueOperations<String, String> values = redisTemplate.opsForValue();
values.set(key, value, duration);
}
public void setValues(String key, String value, long timeout, TimeUnit unit) {
ValueOperations<String, String> values = redisTemplate.opsForValue();
values.set(key, value, timeout, unit);
}
public String getValues(String key) {
ValueOperations<String, String> values = redisTemplate.opsForValue();
return values.get(key);
}
public void deleteValues(String key) {
redisTemplate.delete(key);
}
}
참조
Lettuce를 사용하는 이유
반응형
'Basic > Database' 카테고리의 다른 글
[NoSQL] 몽고 DB(MongoDB)설치 (6.0 이상 버전일 때) (0) | 2023.03.20 |
---|---|
[Oracle] 오라클 8080 Port 변경하기 (2) | 2023.01.28 |
[Redis] Redis 설치 (0) | 2023.01.08 |
[MySQL] current_timestamp를 사용했는데 현재 시간이 다르다면? (0) | 2023.01.07 |
[Oracle] Select 문 (3) - ORDER BY 절 (0) | 2022.06.09 |