Redis/Spring Data Redis

[Spring Data Redis] 기본 설정 방법

오늘도개발 2024. 5. 13. 10:58

 

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