我正在使用MS SQL Server进行第三方持久化。我的意图是将数据从数据库加载到数据网格,执行一些计算(分布式),并在最后将结果写回SQL Server。要处理的记录数为>因此,我不希望每个记录都保留记录,而是成批保留(例如,根据间隔或每隔X毫秒)。以下是我如何配置节点:
ccfg.setReadThrough(true);
ccfg.setWriteThrough(true);
ccfg.setWriteBehindEnabled(true);
ccfg.setWriteBehindBatchSize(10000);
以下是执行计算和
put
要缓存:
int i = 0;
for (ComputePOJO computeItem : computeItems) {
InvoiceItem invoiceItem = calcInvoiceItem();
InvoiceItemKey key = new InvoiceItemKey(invoiceId, contractItemId);
invoiceItem.setId(key);
invoiceItemCache.put(key, invoiceItem);
i++;
if (i % 1000 == 0) {
System.out.printf("> Computed %s InvoiceItems...%n", i);
}
}
如果我在
放
呼叫并清点记录(
SELECT COUNT(*) FROM InvoiceItem
putAsync
但结果是一样的。
我错过了什么?
非常感谢。