/** * init ReactiveRedisTemplate. * * @param reactiveRedisConnectionFactory {@linkplain ReactiveRedisConnectionFactory} * @return {@linkplain ReactiveRedisTemplate} */ @Bean @Qualifier("reactiveRedisTemplate") public ReactiveRedisTemplate<String, String> stringReactiveRedisTemplate(final ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) { 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<>(reactiveRedisConnectionFactory, serializationContext); }
/** * Creates a new {@link RedisSerializationContextBuilder} using a given default {@link SerializationPair}. * * @param serializationPair must not be {@literal null}. * @param <K> expected key type. * @param <V> expected value type. * @return a new {@link RedisSerializationContextBuilder}. */ @SuppressWarnings("unchecked") static <K, V> RedisSerializationContextBuilder<K, V> newSerializationContext(SerializationPair<?> serializationPair) { Assert.notNull(serializationPair, "SerializationPair must not be null!"); return new DefaultRedisSerializationContext.DefaultRedisSerializationContextBuilder() // .key(serializationPair).value(serializationPair) // .hashKey(serializationPair).hashValue(serializationPair); }
/** * Creates a new {@link RedisSerializationContextBuilder} using a given default {@link SerializationPair}. * * @param serializationPair must not be {@literal null}. * @param <K> expected key type. * @param <V> expected value type. * @return a new {@link RedisSerializationContextBuilder}. */ @SuppressWarnings("unchecked") static <K, V> RedisSerializationContextBuilder<K, V> newSerializationContext(SerializationPair<?> serializationPair) { Assert.notNull(serializationPair, "SerializationPair must not be null!"); return new DefaultRedisSerializationContext.DefaultRedisSerializationContextBuilder() // .key(serializationPair).value(serializationPair) // .hashKey(serializationPair).hashValue(serializationPair); }
/** * Set the hash value {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashValue(RedisSerializer<? extends Object> serializer) { hashValue(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the value {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> value(RedisSerializer<V> serializer) { value(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the string {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> string(RedisElementReader<String> reader, RedisElementWriter<String> writer) { string(SerializationPair.just(reader, writer)); return this; }
/** * Set the hash key {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashKey(RedisSerializer<? extends Object> serializer) { hashKey(SerializationPair.fromSerializer(serializer)); return this; }
/** * Creates a new {@link RedisSerializationContext} using the given {@link SerializationPair}. * * @param serializationPair * @param <T> * @return */ static <T> RedisSerializationContext<T, T> just(SerializationPair<T> serializationPair) { return RedisSerializationContext.<T, T> newSerializationContext(serializationPair).build(); }
/** * Set the hash key {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashKey(RedisElementReader<? extends Object> reader, RedisElementWriter<? extends Object> writer) { hashKey(SerializationPair.just(reader, writer)); return this; }
/** * Set the key {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> key(RedisSerializer<K> serializer) { key(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the key {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> key(RedisElementReader<K> reader, RedisElementWriter<K> writer) { key(SerializationPair.just(reader, writer)); return this; }
/** * Set the hash value {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashValue(RedisSerializer<? extends Object> serializer) { hashValue(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the hash value {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashValue(RedisElementReader<? extends Object> reader, RedisElementWriter<? extends Object> writer) { hashValue(SerializationPair.just(reader, writer)); return this; }
/** * Set the hash key {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashKey(RedisSerializer<? extends Object> serializer) { hashKey(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the hash key {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashKey(RedisElementReader<? extends Object> reader, RedisElementWriter<? extends Object> writer) { hashKey(SerializationPair.just(reader, writer)); return this; }
/** * Set the value {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> value(RedisSerializer<V> serializer) { value(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the string {@link SerializationPair} given a {@link RedisSerializer}. * * @param serializer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> string(RedisSerializer<String> serializer) { string(SerializationPair.fromSerializer(serializer)); return this; }
/** * Set the hash value {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> hashValue(RedisElementReader<? extends Object> reader, RedisElementWriter<? extends Object> writer) { hashValue(SerializationPair.just(reader, writer)); return this; }
/** * Set the value {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> value(RedisElementReader<V> reader, RedisElementWriter<V> writer) { value(SerializationPair.just(reader, writer)); return this; }
/** * Set the key {@link RedisElementReader} and {@link RedisElementWriter}. * * @param reader must not be {@literal null}. * @param writer must not be {@literal null}. * @return {@literal this} builder. */ default RedisSerializationContextBuilder<K, V> key(RedisElementReader<K> reader, RedisElementWriter<K> writer) { key(SerializationPair.just(reader, writer)); return this; }