缓存解决方案,用于使用播放框架管理外部 API 调用



我有一些外部付费 api,我用来根据某个 id 检索数据,我将执行的一些调用可能具有相同的 id,所以我正在寻找最佳实践来管理这种使用缓存的场景。 我也希望能够在 24 小时后删除缓存。

有什么建议吗?

谢谢!

Play文档给出了(imo(关于该做什么的明确指示: https://www.playframework.com/documentation/2.6.x/ScalaCache

它的要点是:

  • 在需要时注入缓存实例:
  • 使用您的实例缓存内容:

所以基础:

import play.api.cache._
import play.api.mvc._
import javax.inject.Inject
class Application @Inject() (cache: AsyncCacheApi, cc:ControllerComponents) extends AbstractController(cc) {
[...]
val result: Future[Done] = cache.set("item.key", connectedUser, 24.hours)
val futureMaybeUser: Future[Option[User]] = cache.get[User]("item.key")
}

最新更新