Package com.googlecode.objectify.cache
Class CachingAsyncDatastoreReaderWriter
java.lang.Object
com.googlecode.objectify.cache.CachingAsyncDatastoreReaderWriter
- All Implemented Interfaces:
AsyncDatastoreReaderWriter
- Direct Known Subclasses:
CachingAsyncDatastore
,CachingAsyncTransaction
public abstract class CachingAsyncDatastoreReaderWriter
extends Object
implements AsyncDatastoreReaderWriter
A write-through memcache for Entity objects that works for both transactional and nontransactional sessions.
- Caches negative results as well as positive results.
- Queries do not affect the cache in any way.
- Transactional reads bypass the cache, but successful transaction commits will update the cache.
- This cache has near-transactional integrity. As long as DeadlineExceededException is not hit, cache should not go out of sync even under heavy contention.
Note: Until Google adds a hook that lets us wrap native Futureinvalid input: '<'?> 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.
- Author:
- Jeff Schnitzer invalid input: '<'[email protected]>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
<T> com.google.cloud.datastore.QueryResults<T>
run
(com.google.cloud.datastore.Query<T> query) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.googlecode.objectify.impl.AsyncDatastoreReaderWriter
get, get, put
-
Constructor Details
-
CachingAsyncDatastoreReaderWriter
public CachingAsyncDatastoreReaderWriter()
-
-
Method Details
-
empty
-
delete
- Specified by:
delete
in interfaceAsyncDatastoreReaderWriter
-
run
public <T> com.google.cloud.datastore.QueryResults<T> run(com.google.cloud.datastore.Query<T> query) - Specified by:
run
in interfaceAsyncDatastoreReaderWriter
-
put
public Future<List<com.google.cloud.datastore.Key>> put(Iterable<? extends com.google.cloud.datastore.FullEntity<?>> entities) - Specified by:
put
in interfaceAsyncDatastoreReaderWriter
-