记忆化搜索 递归缓存_需要微缓存吗? 营救记忆
生活随笔
收集整理的這篇文章主要介紹了
记忆化搜索 递归缓存_需要微缓存吗? 营救记忆
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
記憶化搜索 遞歸緩存
緩存解決了各種各樣的性能問題。 有很多方法可以將緩存集成到我們的應用程序中。 例如,當我們使用Spring時,可以輕松使用@Cacheable支持。 非常簡單,但我們仍然必須配置緩存管理器,緩存區域等。有時,就像用大錘砸破堅果一樣。 那么我們該怎么做才能“打火機”呢?
有一種稱為記憶的技術。 從技術上講,它就像餡餅一樣容易,但真正的天才在于簡單。 模型解決方案如下所示:
如您所見,手動實現它沒有問題,但是只要我們記得DRY規則,我們就可以使用已經實現的解決方案,該解決方案還提供了線程安全性。 很好的主意是使用Guava庫。
// create Supplier<Foo> memoizer = Suppliers.memoize(this::retrieveFoo);// and use Foo variable = memoizer.get();有時就足夠了,但是如果我們需要為值指定TTL怎么辦? 我們只需要存儲(緩存)取回的值幾秒鐘,并且在超過定義的持續時間后再獲得一次該值? 我們可以再使用Guava提供的功能。
Supplier<Foo> memoizer = Suppliers.memoizeWithExpiration(this::retrieveFoo, 5, TimeUnit.SECONDS);上一行建立了帶有TTL = 5秒的備忘錄。 如您所見-簡單……但功能強大!
翻譯自: https://www.javacodegeeks.com/2014/11/need-micro-caching-memoization-to-the-rescue.html
記憶化搜索 遞歸緩存
總結
以上是生活随笔為你收集整理的记忆化搜索 递归缓存_需要微缓存吗? 营救记忆的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 儿童平板电脑(儿童平板电脑排行榜)
- 下一篇: 电脑能玩寂静岭吗(寂静岭对电脑要求怎么样