连贯性:事务缓存中的分页

时间:2013-11-05 12:38:32

标签: oracle-coherence

有人知道在Coherence中使用事务方案时是否可以在条目集上实现分页? LimitFilter方式不起作用,因为它在Transactional方案中不受支持。

1 个答案:

答案 0 :(得分:1)

我必须承认这是一个非常复杂的用例,并且你认为LimitFilter在这里没有用。

对于“可管理大小”的查询,我的建议是缓存keySet()本身的内容,其中需要分页结果,并使用这些内容进行分页。例如,存储off keySet(query).toArray(),然后访问该缓存中的任何条目块,例如:如果页面大小为20,那么这应该抓取一个页面的条目(其中“page”是一个从0开始的int):

Map mapForOnePage = cache.getAll(new ImmutableArrayList(arrayOfKeys, page*20, 20));

(ImmutableArrayList位于com.tangosol.util包中。)

希望这会有所帮助:)

为了充分披露,我在Oracle工作。本文中表达的观点和观点是我自己的,不一定反映我的雇主的意见或观点。