bounty 4天后到期。这个问题的答案有资格获得+50的声誉奖励。2shar希望引起更多的关注这个问题。
我正在使用带有lettuce驱动程序的Reactive RedisOperations来写给Redis。
@Autowired
ReactiveRedisOperations<String, Foo> redisOperation;
public Mono<Boolean> save(Foo foo) {
redisOperation.map(operation ->
operation
.opsForValue()
.set(foo.getId(), foo);
return Mono.just(true);
}
序列化定义为
private <T> ReactiveRedisOperations<String, T> buildRedisOperations(ReactiveRedisConnectionFactory factory, Class<T> clazz) {
RedisSerializationContext.RedisSerializationContextBuilder<String, T> builder = RedisSerializationContext
.newSerializationContext(new StringRedisSerializer());
Jackson2JsonRedisSerializer<T> serializer = new Jackson2JsonRedisSerializer<>(clazz);
RedisSerializationContext<String, T> context = builder.value(serializer).build();
return new ReactiveRedisTemplate<>(factory, context);
}
但是,将Foo
对象的数据类型另存为String
。我想以Redisjson
数据类型保存foo对象。
如何使用React式写入redis并保存为REDISJSON格式?
PS:我不想使用lua script
解决方案来解决这个问题。
1条答案
按热度按时间w46czmvw1#
查看**Redis OM Spring**。在同一个repo中有示例实现和文档。
我不确定被动实施会是什么样子。但以下可能是许多非React性方法之一。