【问题标题】:hibernate query cache specify cache duration休眠查询缓存指定缓存持续时间
【发布时间】:2011-01-25 06:06:24
【问题描述】:

下面是我如何查询缓存

   getHibernateTemplate().setCacheQueries(true);
   List<IssSection> result = (List<IssSection>) getHibernateTemplate().findByCriteria(crit);
   getHibernateTemplate().setCacheQueries(false);

我可以知道如何指定缓存此方法的最长持续时间吗?假设我想在 5 分钟过期后清除缓存

【问题讨论】:

    标签: java hibernate spring orm caching


    【解决方案1】:

    Hibernate 不提供接口来控制缓存的细节,例如您的请求。

    相反,您必须选择提供该功能的缓存实现,并对其进行适当配置。

    例如你可以使用EhCache 并像这样配置它:

    <cache
        name="com.somecompany.someproject.domain.Country"
        maxElementsInMemory="10000"
        eternal="false"
        **timeToIdleSeconds="300"**
        **timeToLiveSeconds="600"**
        overflowToDisk="true"
    />
    

    上面突出显示的两个属性说明了如何配置缓存元素的缓存持续时间。

    【讨论】:

      【解决方案2】:

      我可以知道如何指定缓存此方法的最大持续时间吗?

      您必须选择支持过期的二级缓存提供程序(EHCache、OSCache、JCS)并配置此特定请求的缓存区域。

      【讨论】:

        猜你喜欢
        • 2015-12-18
        • 2011-03-07
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 2015-10-23
        • 2013-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多