2
A
回答
2
對於由重點檢查一個實體的存在,最簡單,最便宜的是簡單地使用get()
:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
datastore.get(KeyFactory.createKey(kind, long))
獲取(1個讀操作) (1閱讀+ 1小):http://code.google.com/appengine/docs/billing.html
3
是的,這是可能的!
嘗試是這樣的:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query gaeQuery = new Query(entityName);
gaeQuery.setKeysOnly();
gaeQuery.addFilter("__key__", FilterOperator.EQUAL, key);
PreparedQuery pq = datastore.prepare(gaeQuery);
List<Entity> results = pq.asList(FetchOptions.Builder.withLimit(1));
Key elementKey = null;
if (results.size() == 1) {
elementKey = results.get(0).getKey();
}
0
如果你想測試的存在,你可以使用維克多的建議,但獲取公司UNT代替:
return datastore.prepare(gaeQuery)
.countEntities(FetchOptions.Builder.withLimit(1)) > 0;
相關問題
- 1. 只用一個密鑰在密鑰中查找密鑰名稱?
- 2. 使用主密鑰進行Python加密
- 3. 使用OpenSSL密鑰進行Java加密
- 4. 使用密鑰文件進行加密,使用密碼進行解密
- 5. 使用外殼進行密鑰匹配
- 6. 使用密鑰進行錯誤更正
- 7. 使用PGP密鑰加密
- 8. 使用純文本密鑰使用bash openssl進行AES加密
- 9. 使用AES使用靜態密鑰進行加密
- 10. 使用AES和長密鑰進行一次塊密碼解密
- 11. 使用ansible對加密AWS .pem密鑰文件進行加密
- 12. 需要使用PEM密鑰進行加密和解密
- 13. 在java中使用共享密鑰進行加密/解密?
- 14. 使用隨機生成的密鑰進行加密和解密?
- 15. java使用密鑰對進行加密和解密?
- 16. AWS使用什麼密碼/密鑰進行AES-256加密?
- 17. 使用表密鑰
- 18. GAE用密鑰獲取數據使用JDO使用密鑰
- 19. 使用Lodash獲取密鑰只使用部分密鑰字符串
- 20. 如何使用java查找SSH RSA密鑰的密鑰長度
- 21. 在PHP中使用密鑰加密和解密使用密鑰的PHP文件
- 22. 使用用戶定義密鑰進行AES解密
- 23. 使用解密密鑰解密數據
- 24. 使用解密密鑰加密文件
- 25. 使用JKS密鑰庫進行公鑰驗證與Ganymed SSH
- 26. 使用大於密鑰大小的密鑰加密消息
- 27. WSO2使用公鑰私鑰加密/解密密碼(字符串)
- 28. requestLocationUpdates只能使用調試密鑰?
- 29. 使用公鑰進行RSA加密。基於密鑰的數據大小
- 30. 使用XML專用密鑰解密RSA
以上將獲取整個實體,因此它不是唯一的關鍵查詢。 – 2012-02-23 10:45:46
是的,但沒關係。用於測試實體的存在是其最廉價的方式(也可能是最快的)。 – 2012-02-23 10:51:50
根據實體的大小,這可能不是最快的。我認爲現在數據存儲帶寬的收費已經過去了,所以它保證了我認爲的最便宜。 – mjaggard 2012-02-23 14:26:02