【问题标题】:Spring SimpleCacheManager update strategy?Spring SimpleCacheManager 更新策略?
【发布时间】:2016-07-19 15:07:35
【问题描述】:

我正在为我的应用程序中的一个小型但经常使用的数据库调用添加缓存。它所命中的表将很少更新,因此它是缓存的绝佳候选者。我已经用 org.springframework.cache.support.SimpleCacheManager 实现了它,我想更多地了解它的更新策略,但我似乎找不到任何关于它的信息。

大多数情况下,我想知道它是否会定期驱逐缓存,如果是,它会按照什么样的时间表进行?我几乎可以肯定默认缓存会起作用,但我想确定一下。

【问题讨论】:

    标签: java database spring caching spring-cache


    【解决方案1】:

    你必须知道的属性是“timeToIdleSeconds”和 “timeToLiveSeconds”(在 ehcache 缓存框架中)将决定缓存对象的时间长度 有效。一旦缓存数据失效,将再次从 再次数据库并保存到缓存中。

    请在下面找到 Spring 的示例 ehcache 配置。

    <cache name="myProjectCache" 
        maxEntriesLocalHeap="10000"
        memoryStoreEvictionPolicy="LFU"
        timeToIdleSeconds="300" timeToLiveSeconds="600">
    </cache>
    

    另外,请参考以下 spring 缓存文档:

    http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html

    您可以在下面找到一个简单的 spring-ehcache 示例:

    http://www.mkyong.com/spring/spring-caching-and-ehcache-example/

    【讨论】:

    • 谢谢,这很有帮助!没有ehcache有没有办法做到这一点?如果可能,我想避免为单一、简单的缓存方法添加库。
    • 如果您不想使用任何缓存框架,那么您需要编写一个简单的Java调度程序来定期更新缓存的数据对象(根据您的要求每1小时或2小时等) .).
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多