第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pattern.compile() 從緩存的字符串 vs 緩存編譯的模式

Pattern.compile() 從緩存的字符串 vs 緩存編譯的模式

慕哥6287543 2021-09-29 10:59:15
我有一組模式可以匹配每個請求來確定要做什么。模式的數(shù)量現(xiàn)在約為 60,但很快就會增長到 1000 多個。我從數(shù)據(jù)庫中獲取模式,并使用 infinispan 來緩存我的模式。Pattern.compile()真的很快,我不確定是否應(yīng)該緩存編譯模式或字符串。Pattern似乎是Serializable。緩存Pattern對象有什么問題嗎?編輯我正在使用遠(yuǎn)程 infinispan。它是一個分布式緩存。
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊

從 Javadoc

此類的實(shí)例是不可變的,并且可以安全地由多個并發(fā)線程使用。

因此,無論如何都要編譯一次并重用它們。

Pattern.compile() 真的很快

它相當(dāng)快,但不是不必要地運(yùn)行它會更快。


查看完整回答
反對 回復(fù) 2021-09-29
?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個贊

緩存 Pattern 對象有什么問題嗎?

您可以同時執(zhí)行這兩種操作,緩存模式字符串或Pattern對象。我建議在分布式緩存中緩存模式字符串。

查看Pattern對象的內(nèi)部結(jié)構(gòu),您將看到實(shí)際上只有原始模式字符串被序列化。這意味著,當(dāng)反序列化(也就是從分布式緩存中獲?。r,Pattern實(shí)例需要再次構(gòu)建內(nèi)部解析樹。

通過緩存模式字符串,您將有兩個優(yōu)勢: 當(dāng)您檢查緩存內(nèi)容時,它是可讀的,而不是二進(jìn)制的。在序列化形式中,您存儲的數(shù)據(jù)比您需要的更多,因?yàn)樾蛄谢鲗愋?。所以我期待一個微小的優(yōu)勢,因?yàn)樾蛄谢_銷不存在。

如果您的模式很復(fù)雜,再次構(gòu)建對象樹的成本會更高。為了解決這個問題,您需要一個進(jìn)程內(nèi)緩存來緩存實(shí)際的對象引用。您可以將這些與分布式緩存結(jié)合起來。具有最快訪問時間的現(xiàn)代進(jìn)程內(nèi)緩存將是 Caffeine 或cache2k。您可以節(jié)省多少時間,取決于您的整體情況。


查看完整回答
反對 回復(fù) 2021-09-29
  • 2 回答
  • 0 關(guān)注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號