public class CachingAsyncDatastoreService extends Object implements com.google.appengine.api.datastore.AsyncDatastoreService
A write-through memcache for Entity objects that works for both transactional and nontransactional sessions.
Note: Until Google adds a hook that lets us wrap native Future> implementations,
you muse install the AsyncCacheFilter
to use this cache asynchronously. This
is not necessary for synchronous use of CachingDatastoreService
, but asynchronous
operation requires an extra hook for the end of a request when fired-and-forgotten put()s
and delete()s get processed. If you use this cache asynchronously, and you do not
use the AsyncCacheFilter
, your cache will go out of sync.
Constructor and Description |
---|
CachingAsyncDatastoreService(com.google.appengine.api.datastore.AsyncDatastoreService rawAsync,
EntityMemcache memcache) |
Modifier and Type | Method and Description |
---|---|
Future<com.google.appengine.api.datastore.KeyRange> |
allocateIds(com.google.appengine.api.datastore.Key parent,
String kind,
long num) |
Future<com.google.appengine.api.datastore.KeyRange> |
allocateIds(String kind,
long num) |
Future<com.google.appengine.api.datastore.Transaction> |
beginTransaction() |
Future<com.google.appengine.api.datastore.Transaction> |
beginTransaction(com.google.appengine.api.datastore.TransactionOptions options) |
Future<Void> |
delete(Iterable<com.google.appengine.api.datastore.Key> keys) |
Future<Void> |
delete(com.google.appengine.api.datastore.Key... keys) |
Future<Void> |
delete(com.google.appengine.api.datastore.Transaction txn,
Iterable<com.google.appengine.api.datastore.Key> keys) |
Future<Void> |
delete(com.google.appengine.api.datastore.Transaction txn,
com.google.appengine.api.datastore.Key... keys) |
Future<Map<com.google.appengine.api.datastore.Key,com.google.appengine.api.datastore.Entity>> |
get(Iterable<com.google.appengine.api.datastore.Key> keys) |
Future<com.google.appengine.api.datastore.Entity> |
get(com.google.appengine.api.datastore.Key key) |
Future<Map<com.google.appengine.api.datastore.Key,com.google.appengine.api.datastore.Entity>> |
get(com.google.appengine.api.datastore.Transaction txn,
Iterable<com.google.appengine.api.datastore.Key> keys) |
Future<com.google.appengine.api.datastore.Entity> |
get(com.google.appengine.api.datastore.Transaction txn,
com.google.appengine.api.datastore.Key key) |
Collection<com.google.appengine.api.datastore.Transaction> |
getActiveTransactions() |
com.google.appengine.api.datastore.Transaction |
getCurrentTransaction() |
com.google.appengine.api.datastore.Transaction |
getCurrentTransaction(com.google.appengine.api.datastore.Transaction txn) |
Future<com.google.appengine.api.datastore.DatastoreAttributes> |
getDatastoreAttributes() |
Future<Map<com.google.appengine.api.datastore.Index,com.google.appengine.api.datastore.Index.IndexState>> |
getIndexes() |
com.google.appengine.api.datastore.PreparedQuery |
prepare(com.google.appengine.api.datastore.Query query) |
com.google.appengine.api.datastore.PreparedQuery |
prepare(com.google.appengine.api.datastore.Transaction txn,
com.google.appengine.api.datastore.Query query) |
Future<com.google.appengine.api.datastore.Key> |
put(com.google.appengine.api.datastore.Entity entity) |
Future<List<com.google.appengine.api.datastore.Key>> |
put(Iterable<com.google.appengine.api.datastore.Entity> entities) |
Future<com.google.appengine.api.datastore.Key> |
put(com.google.appengine.api.datastore.Transaction txn,
com.google.appengine.api.datastore.Entity entity) |
Future<List<com.google.appengine.api.datastore.Key>> |
put(com.google.appengine.api.datastore.Transaction txn,
Iterable<com.google.appengine.api.datastore.Entity> entities) |
public CachingAsyncDatastoreService(com.google.appengine.api.datastore.AsyncDatastoreService rawAsync, EntityMemcache memcache)
public Future<com.google.appengine.api.datastore.KeyRange> allocateIds(String kind, long num)
allocateIds
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.KeyRange> allocateIds(com.google.appengine.api.datastore.Key parent, String kind, long num)
allocateIds
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.Transaction> beginTransaction()
beginTransaction
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.Transaction> beginTransaction(com.google.appengine.api.datastore.TransactionOptions options)
beginTransaction
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Void> delete(com.google.appengine.api.datastore.Key... keys)
delete
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Void> delete(Iterable<com.google.appengine.api.datastore.Key> keys)
delete
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Void> delete(com.google.appengine.api.datastore.Transaction txn, com.google.appengine.api.datastore.Key... keys)
delete
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Void> delete(com.google.appengine.api.datastore.Transaction txn, Iterable<com.google.appengine.api.datastore.Key> keys)
delete
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.Entity> get(com.google.appengine.api.datastore.Key key)
get
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Map<com.google.appengine.api.datastore.Key,com.google.appengine.api.datastore.Entity>> get(Iterable<com.google.appengine.api.datastore.Key> keys)
get
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.Entity> get(com.google.appengine.api.datastore.Transaction txn, com.google.appengine.api.datastore.Key key)
get
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<Map<com.google.appengine.api.datastore.Key,com.google.appengine.api.datastore.Entity>> get(com.google.appengine.api.datastore.Transaction txn, Iterable<com.google.appengine.api.datastore.Key> keys)
get
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Collection<com.google.appengine.api.datastore.Transaction> getActiveTransactions()
getActiveTransactions
in interface com.google.appengine.api.datastore.BaseDatastoreService
public com.google.appengine.api.datastore.Transaction getCurrentTransaction()
getCurrentTransaction
in interface com.google.appengine.api.datastore.BaseDatastoreService
public com.google.appengine.api.datastore.Transaction getCurrentTransaction(com.google.appengine.api.datastore.Transaction txn)
getCurrentTransaction
in interface com.google.appengine.api.datastore.BaseDatastoreService
public com.google.appengine.api.datastore.PreparedQuery prepare(com.google.appengine.api.datastore.Query query)
prepare
in interface com.google.appengine.api.datastore.BaseDatastoreService
public com.google.appengine.api.datastore.PreparedQuery prepare(com.google.appengine.api.datastore.Transaction txn, com.google.appengine.api.datastore.Query query)
prepare
in interface com.google.appengine.api.datastore.BaseDatastoreService
public Future<com.google.appengine.api.datastore.Key> put(com.google.appengine.api.datastore.Entity entity)
put
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<List<com.google.appengine.api.datastore.Key>> put(Iterable<com.google.appengine.api.datastore.Entity> entities)
put
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.Key> put(com.google.appengine.api.datastore.Transaction txn, com.google.appengine.api.datastore.Entity entity)
put
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<List<com.google.appengine.api.datastore.Key>> put(com.google.appengine.api.datastore.Transaction txn, Iterable<com.google.appengine.api.datastore.Entity> entities)
put
in interface com.google.appengine.api.datastore.AsyncDatastoreService
public Future<com.google.appengine.api.datastore.DatastoreAttributes> getDatastoreAttributes()
getDatastoreAttributes
in interface com.google.appengine.api.datastore.AsyncDatastoreService
Copyright © 2016. All rights reserved.