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