我有一个REST API,使用基于RxScala的反应式scala驱动程序调用mongodb。
在我的API控制器或服务层中,我需要使用缓存来避免使用hazelcast(或任何其他缓存工具)调用mongodb
我的所有服务都是异步的,只返回observable,知道如何用observable实现缓存吗?
答案 0 :(得分:0)
在高速缓存 .doOnNext()的,检索作为 .myFromCacheObservable()。的 switchIfEmpty 强>(serviceCallOrDbOrWhatever。的 doOnNext 强>(mySaveToCache))
答案 1 :(得分:-1)
Observable<String> stringResponse = response
.flatMap(resp -> resp.getContent()
.map(bytes -> new String(bytes)))
.retry(5)
.cast(String.class)
.map(String::trim)
.cache(); //remember the sequence of items emitted by the Observable and emit the same sequence to future Subscribers
试试这个。应该帮助你。