1. Spring 의존성 주입
// redis
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
// redis 를 기본 세선 저장소로 사용
implementation 'org.springframework.session:spring-session-data-redis'
2. Config 설정
@Configuration
@EnableRedisRepositories
public class RedisConfig {
@Value("${spring.data.redis.host}")
private String host;
@Value("${spring.data.redis.port}")
private int port;
@Value("${spring.data.redis.password}")
private String password;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration redisConfiguration = new RedisStandaloneConfiguration();
redisConfiguration.setHostName(host);
redisConfiguration.setPort(port);
redisConfiguration.setPassword(password);
final SocketOptions socketoptions = SocketOptions.builder().connectTimeout(Duration.ofSeconds(10)).build();
final ClientOptions clientoptions = ClientOptions.builder().socketOptions(socketoptions).build();
LettuceClientConfiguration lettuceClientConfiguration = LettuceClientConfiguration.builder()
.clientOptions(clientoptions)
.commandTimeout(Duration.ofMinutes(1))
.shutdownTimeout(Duration.ZERO)
.build();
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(host, port);
redisStandaloneConfiguration.setDatabase(0);
return new LettuceConnectionFactory(redisStandaloneConfiguration, lettuceClientConfiguration);
}
3. RedisTemplate 사용 방법
- ValueOperations<k, v> valueOps<k, v> : 단순히 키값을 사용해서 값을 가져올 때 사용
- ListOperations<k, v> listOps<k, v> : 리스트의 구조로 value 사용
- SetOperations<k, v> setOps<k, v> : 셋의 구조로 value 사용
- ListOperations<k, v=""> listOps<k, v=""> : 리스트의 구조로 value 사용
- ListOperations<k, v=""> listOps<k, v=""> : 리스트의 구조로 value 사용
- StreamOperations<K, ?, ?> streamOps : Stream 구조로 사용
- ZSetOperations<k, v> zSetOps<k, v> : sorted set 구조로 value 사용
- GeoOperations<k, v> geoOps<k, v> : Geospatial로 사용
- HyperLogLogOperations<k, v> hllOps<k, v> : HyperLogLog 구조로 value 사용
4. RedisTemplate 사용 예시 코드
'Redis > Spring Data Redis' 카테고리의 다른 글
[Spring Data Redis] Sorted Sets (0) | 2024.05.13 |
---|---|
[Spring Data Redis] Hashes (0) | 2024.05.13 |
[Spring Data Redis] Sets (0) | 2024.05.13 |
[Spring Data Redis] Lists (0) | 2024.05.13 |
[Spring Data Redis] Strings (0) | 2024.05.13 |