dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
}
레디스에 값을 저장/삭제, 카운터 증감, pub/sub 메세징과 트랜잭션 수행
RedisConnectionFacotry를 통해 레디스와 연결
Key와 Value에 대한 직렬화/역직렬화 방법을 세팅
Method
Method | Return | Type |
---|---|---|
opsForValue | ValueOperations | String |
opsForHash | HashOperations | Hash |
opsForList | ListOperaitons | List(Linked) |
opsForSet | SetOperations | Set |
opsForZSet | ZSetOperations | ZSet |
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
@Configuration
public class RedisConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName("localhost");
jedisConnectionFactory.setPort(6379);
return jedisConnectionFactory;
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
}
import org.springframework.data.redis.core.RedisTemplate;
@Component
public class RedisUtil {
private final RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
public void delete(String key) {
redisTemplate.delete(key);
}
}