【发布时间】:2018-06-17 19:02:50
【问题描述】:
我正在学习 Spring WebFlux,在编写示例应用程序期间,我发现了与响应式类型(Mono/Flux)结合 Spring Cache 相关的问题。
考虑以下代码-sn-p(在 Kotlin 中):
@Repository
interface TaskRepository : ReactiveMongoRepository<Task, String>
@Service
class TaskService(val taskRepository: TaskRepository) {
@Cacheable("tasks")
fun get(id: String): Mono<Task> = taskRepository.findById(id)
}
这种缓存返回 Mono 或 Flux 的方法调用是否有效且安全?也许还有其他一些原则可以做到这一点?
以下代码正在使用 SimpleCacheResolver,但默认情况下,由于 Mono 不可序列化,Redis 会失败。为了使它们工作,例如需要使用 Kryo 序列化器。
【问题讨论】:
标签: spring-boot spring-cache spring-webflux