我现在有以下代码,如下所示
final T savedEntity = repository.save(entity);
entityCacheService.putIntoCache(entity.getId(), savedEntity);
现在我的存储库被反应了。问题是如何使缓存存储现在单声道和通量。
final Mono<T> savedEntity = repository.save(entity);
entityCacheService.putIntoCache(entity.getId(), <<What here>>);
我遇到了以下raised an issue,但它仅用于查找,因为我也是反应式编程的初学者,有人可以帮助我。
答案 0 :(得分:1)
在您的情况下,最好的方法是依赖save
操作返回发出已保存实体的Mono<T>
这一事实。
因此,只要将该实体保存在DB中,您就可以使用doOnNext
将该实体放入缓存中:
final Mono<T> savedEntity = repository.save(entity)
.doOnNext(entity -> entityCacheService.putIntoCache(entity.getId(), entity);
生成的Mono<T>
会在订阅时保存然后缓存实体。