9、play中缓存的使用
1、簡介
對于存儲在緩存中的任何數(shù)據(jù),都需要放置一個再生策略,以防數(shù)據(jù)丟失。這一理念是play基本原則之一。對于進(jìn)程內(nèi)緩存,Caffeine 通常是最佳選擇。如果需要分布式緩存,play提供了Memcached和Redis的第三方插件。
2、添加緩存插件
添加Caffeine緩存的依賴項(xiàng):
libraryDependencies ++= Seq(
? caffeine
)
添加ehcache的依賴項(xiàng):
libraryDependencies ++= Seq(
? ehcache
)
僅添加cache api的依賴項(xiàng):
libraryDependencies ++= Seq(
? cacheApi
)
3、訪問緩存層
緩存API由AsyncCacheAPI和SyncCacheAPI接口定義,具體取決于是希望異步實(shí)現(xiàn)還是同步實(shí)現(xiàn)
4、訪問不同的緩存
要訪問不同的緩存,在注入它們時(shí),請根據(jù)依賴項(xiàng)使用@NamedCahce進(jìn)行限定,例如:
如果想訪問多個不同的緩存,那么需要在application.conf中綁定:play.cache.bindCaches = ["db-cache", "user-cache", "session-cache"]
5、設(shè)置緩存的執(zhí)行方式
默認(rèn)情況下,所有Caffeine?和ehcache操作都是阻塞的,異步實(shí)現(xiàn)將阻塞當(dāng)前線程。通常情況下,如果您使用的是play的默認(rèn)配置,它只將元素存儲在內(nèi)存中,因?yàn)樽x取速度相對較快。但是,根據(jù)緩存的配置方式,這種阻塞I/O可能代價(jià)太高。對于這種情況,可以配置不同的AKKA Dispatcher,并通過play.cache.Dispatcher設(shè)置它,以便緩存插件使用它,配置方式如下:
6、自定義實(shí)現(xiàn)緩存
思路就是先將默認(rèn)依賴的緩存進(jìn)行注銷,然后注入自定義的緩存
在application.conf文件中配置:
play.modules.enabled += "czp.api.SelfCacheModule"
總結(jié)
以上是生活随笔為你收集整理的9、play中缓存的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摩托罗拉 moto razr 2022
- 下一篇: 10、使用ws调用Rest api