我刚刚分析了一些代码,其中我使用以下代码增加了一些频率计数器:
Datastore ds = ...
final Query<Unit> query = ds.createQuery(Unit.class);
query.field("text").equal(text);
query.field("langCode").equal(lang.getCode());
UpdateOperations ops = ds.createUpdateOperations(Unit.class);
ops.inc("frequency", value);
ds.update(query, ops, false);
查询的创建占用了几乎 50% 的执行时间,我想以某种方式重用这项工作。query
将和对象保存ops
在 ThreadLocal 中并 query.field("text").equal(text)
再次调用以替换“文本”字段是否安全?看起来验证占用了总时间的 30% 左右。