当前位置: 首页 > 知识库问答 >
问题:

每次写入时ehcache刷新磁盘

陆子默
2023-03-14
Operation of a Cache where overflowToDisk is false and diskPersistent is true

In this configuration case, the disk will be written on flush or shutdown.
The next time the cache is started, the disk store will initialise but will not permit overflow from the
MemoryStore. In all other respects it acts like a normal disk store.
    <diskStore path="/mnt/ehcache/" />

    <cache 
    name="feedLocalCache" 
    maxEntriesLocalHeap="2000000"
    eternal="false"
    timeToLiveSeconds="1800"
    timeToIdleSeconds="0"         
    diskPersistent="true"
    overflowToDisk="false"
    memoryStoreEvictionPolicy="LFU" >
    <bootstrapCacheLoaderFactory class="net.sf.ehcache.store.DiskStoreBootstrapCacheLoaderFactory" properties="bootstrapAsynchronously=true"/>

共有1个答案

易星宇
2023-03-14

将其归咎于文档的过时。

从EHCache2.6开始,最低层(也称为Authority-disk)总是包含所有映射。这是为了提高潜伏期的可预测性。

所以你看到的是预期的行为。请注意,磁盘写入是异步的,因此不会影响执行put的线程--除非您写得太多以至于写队列达到其最大大小。

 类似资料:
  • 我从缓存中读取数据。我正在使用ehcache。每次插入操作后,我都需要刷新缓存数据。如何使用注释?或者其他方式? ehcache。xml 存储库类: 公共接口NodeRepository扩展了JpaRepository{

  • 问题内容: 我有一个C#Windows窗体,其中包含几个文本框和按钮。它还具有显示sql表的datagrid视图。我创建了一个刷新按钮,使我可以刷新表,以便可以看到表中的更新项。我想知道有没有办法自行刷新表。就像每10秒一次,或者代替表格,也许每10秒就会自动加载或刷新整个表格吗? 问题答案: 使用Timer控件,它调用了UI线程,并且可以通过表单设计器使用该控件。

  • 问题内容: 我在具有数据库后端和基于EHCache的缓存的Spring多线程Web服务上遇到缓存问题。该服务有许多客户端一次又一次地请求同一个对象,每秒有数十个请求。仅频繁请求几个对象,而不经常请求大量其他对象。对象可以每隔几分钟更改一次,因此将缓存的TTL设置为一分钟。从数据库加载对象很慢,并且至少需要几秒钟。 首先,我使用了一个简单的实现来获取对象: 检查对象是否在缓存中。 如果是,请从缓存中

  • 问题内容: 我从修改了自己需求的网站上获得了此代码: 在test.php中: 所以我想在链接div中每5秒调用一次test.php。我该怎么做呢? 问题答案: 试试看 希望这可以帮助。

  • 我有导航抽屉的BaseActivity,我在其中使用片段管理器在片段布局中显示/隐藏片段,当单击每个导航抽屉项时,我希望每次单击导航项时都刷新我的片段。我尝试了两种方法,例如片段附加/分离,但它不起作用,有谁能帮我在每次点击导航项时刷新我的片段吗。

  • 我在一个Spring多线程web服务上遇到了一个缓存问题,它有一个数据库后端和基于EHCache的缓存。该服务有许多客户端都在一次又一次地请求同一个对象,每秒钟有几十个请求。只有几个对象被频繁地请求,而大量其他对象被不频繁地请求。对象可以每隔几分钟改变一次,所以缓存的TTL设置为一分钟。从数据库加载对象很慢,至少需要几秒钟。 起初我使用了一个朴素的实现来获取对象: 检查对象是否在缓存中 如果是,则