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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

spring缓存_有关Spring缓存性能的更多信息

發布時間:2023/12/3 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring缓存_有关Spring缓存性能的更多信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spring緩存

這是我們最后一篇關于Spring的緩存抽象的文章的后續文章 。

作為工程師,您可以通過了解所使用的某些工具的內部知識來獲得寶貴的經驗。 了解工具的行為有助于您在做出設計選擇時變得更加成熟。 在本文中,我們描述了基準測試實驗和結果,這些結果將幫助您了解Spring的內置緩存注釋。

看一下以下兩種方法:

@Cacheable (value = "time" , key = "#p0.concat(#p1)" ) public long annotationWithSpel(String dummy1, String dummy2) { "#p0.concat(#p1)" annotationWithSpel(String dummy1, String dummy2) { return System.currentTimeMillis(); } System.currentTimeMillis(); } @Cacheable (value = "time" ) public long annotationBased(String dummy1, String dummy2) { @Cacheable (value = annotationBased(String dummy1, String dummy2) { return System.currentTimeMillis(); } System.currentTimeMillis(); }

在這里,我們有兩種非常相似的方法,每種方法都使用Spring Cache的內置@Cacheable注釋進行注釋。 第一個包含使用Spring Expression Language編寫的表達式。 該表達式用于配置如何使用方法參數計算緩存鍵。 第二個依賴于Spring的默認行為,即“所有方法參數均視為鍵”。 實際上,以上兩種方法實際上都導致完全相同的外部行為。

我們進行了一些基準測試,從而可以評估其性能:

Benchmark Mode Cnt Score Error Units CacheBenchmark.annotationBased avgt 5 271.975 ± 11.586 ns/op CacheBenchmark.spel avgt 5 1196.744 ± 93.765 ns/op CacheBenchmark.manual avgt 5 16.325 ± 0.856 ns/op CacheBenchmark.nocache avgt 5 40.142 ± 4.012 ns/op

原來,具有手動配置的緩存的方法運行速度慢4.4倍! 事后看來,由于間接費用,這種結果似乎很有意義。 Spring框架必須解析任意復雜的表達式,并且在此計算中消耗了一些周期。

我們為什么要寫這個故事? 好 -

  • 我們非常關心軟件性能。
  • 我們自己的代碼庫中有一些這樣的實例,我們不得不權衡性能以獲得零收益。
  • 您應該檢查您的代碼庫,并進行檢查或審核。 杰蒂森(Jettison)也在其中一些實例中獲得了性能提升。 您很可能在某些實例中也手動配置了緩存鍵。 請記住,這與Spring Cache默認為您提供的行為完全相同。 絕對的雙贏局面!

    翻譯自: https://www.javacodegeeks.com/2019/04/more-about-spring-cache-performance.html

    spring緩存

    總結

    以上是生活随笔為你收集整理的spring缓存_有关Spring缓存性能的更多信息的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。