日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

9、play中缓存的使用

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 9、play中缓存的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。