簡體   English   中英

是否有重用Morphia查詢的良好模式?

[英]Is there a good pattern for reusing Morphia queries?

我剛剛分析了一些代碼,我用以下代碼增加了一些頻率計數器:

   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%的執行時間,我想以某種方式重用該工作。 queryops對象保存在ThreadLocal中是否安全,只需再次調用query.field("text").equal(text)來替換“text”字段? 它看起來似乎驗證占用了總時間的約30%。

是的,你可以這么做。 每個字段都存儲在一個映射中,因此在多次調用時它將替換它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM