Spring WebFlux + Redis
1. redis-reactive, embedded redis ์์กด์ฑ ์ถ๊ฐ
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
implementation 'it.ozimov:embedded-redis:0.7.2'
...
}2. redis์ ๋ฌธ์์ด์ key value๋ฅผ ์ฌ์ฉํ๋๋ก Bean ๋ฑ๋ก
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
import org.springframework.data.redis.core.ReactiveRedisOperations;
import org.springframework.data.redis.core.ReactiveRedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class BasicRedisConfig {
@Primary
@Bean
ReactiveRedisOperations<String, String> redisOperations(ReactiveRedisConnectionFactory factory) {
RedisSerializer<String> serializer = new StringRedisSerializer();
RedisSerializationContext<String, String> serializationContext = RedisSerializationContext
.<String, String>newSerializationContext()
.key(serializer)
.value(serializer)
.hashKey(serializer)
.hashValue(serializer)
.build();
return new ReactiveRedisTemplate<>(factory, serializationContext);
}
}3. test ๋ฐ ๋ก์ปฌ test๋ฅผ ์ํ embedded redis ์ค์
4. handler ์์ฑ
- loadData(): 10๋ง๊ฐ์ ๋ฐ์ดํฐ ๋ก๋ ๋ฉ์๋
- findReactorList(): ๋น๋๊ธฐ, ๋ ผ๋ธ๋กํน ๋ฐฉ์์ ๋ฉ์๋
- findNormalList(): ๋๊ธฐ, ๋ธ๋กํน ๋ฐฉ์์ ๋ฉ์๋
5. router ๋ฑ๋ก
- ๋ฑ๋ก์ bean์ด๋ฆ์ด ๋ค๋ฅธ router์ ๊ฒน์น์ง ์๊ฒ ์กฐ์ฌํด์ผํจ. ๋์ผ ์ด๋ฆ์ bean 2๊ฐ ๋ง๋ค๋ ค๊ณ ํ๋ฉด์ ์คํจํ๊ฒ ๋จ
์ถ์ฒ : https://wellbell.tistory.com/238
Last updated