Spring Boot Redis Reactive: ошибок во время выполнения нет, но пара kv не записывается? - PullRequest
0 голосов
/ 26 октября 2019

Попытка запустить некоторые базовые тесты, чтобы убедиться, что я могу правильно читать / писать в Redis локально. Однако, хотя кажется, что код выполняется без проблем, он ничего не пишет.

Конфигурация:

@Configuration
public class RedisConfig {

    @Bean
    ReactiveRedisOperations<String, Location> redisOperations(ReactiveRedisConnectionFactory factory) {
        Jackson2JsonRedisSerializer<Location> serializer = new Jackson2JsonRedisSerializer<>(Location.class);

        RedisSerializationContext.RedisSerializationContextBuilder<String, Location> builder =
            RedisSerializationContext.newSerializationContext(new StringRedisSerializer());

        RedisSerializationContext<String, Location> context = builder.value(serializer).build();

        return new ReactiveRedisTemplate<>(factory, context);
    }
}

Класс репозитория:

@Repository
public class LocationRedisRepositoryImpl implements LocationRedisRepository {

    @Autowired
    private ReactiveRedisTemplate<String, String> redisTemplate;

    @Autowired
    private ReactiveRedisOperations<String, Location> reactiveListOps;

    public Mono<Location> getLocationByIpv4(Ipv4Request ipv4Request) {
        Location location = new Location("192", "193", "j", "j", "l", 5.0, 6.0, 7.0);
        reactiveListOps.opsForList().leftPush("testk", location);
        return Mono.just(location);
    }

    public Mono<Void> writeLocation() {
        return Mono.empty();
    }

}

Теперь, когда я вызываю метод getLocationByIpv4 через вызов API, я не получаю статически определенное местоположение без проблем:

enter image description here

И никаких ошибок нетподнял. Но когда я проверяю Redis для этой пары ключ / значение, он не существует. Я также проверил это в коде, вернув вместо него return reactiveListOps.opsForList().leftPop("testk");, и я получил пустой ответ. В чем дело?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...