我有一个具有以下属性的磁盘存储:
<disk-store name="DATA" compaction-threshold="40" auto-compact="true" max-oplog-size="512" queue-size="10000">
<disk-dirs>
<disk-dir>/storage/data/</disk-dir>
</disk-dirs>
</disk-store>
我正在将数据添加到以下区域:
<region-attributes id="testRegionAttrib" concurrency-checks-enabled="true" statistics-enabled="true" initial-capacity="10000"
data-policy="persistent-replicate" scope="distributed-ack" disk-store-name="DATA">
<entry-time-to-live>
<expiration-attributes timeout="500"/>
</entry-time-to-live>
</region-attributes>
<region-attributes id="rLockAttrib" data-policy="replicate" scope="global"/>
<region name="testRegion" refid="testRegionAttrib">
<index name="idPkIndex">
<primary-key field="id" />
</index>
</region>
我可以看到一些BACKUPDATA文件在经过500秒的时间后就被删除,如region-attribute TTL属性中所述。但是,在达到500秒的时间后,不会删除在500秒之后创建的其他文件。
我想实现,以便在TTL周期后删除任何完整的BACKUPDATA文件(在这种情况下为1MB)。
但是,该TTL并不直接应用于磁盘存储文件。区域条目将在磁盘存储文件中标记为已删除,并且随着更多条目被删除,压缩将发生并回收磁盘上的空间,但这并不意味着所有文件都将消失。