Class 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 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.

    Author:
    Jeff Schnitzer
    • Constructor Detail

      • CachingAsyncDatastoreReaderWriter

        public CachingAsyncDatastoreReaderWriter()