Package com.apple.foundationdb.record.provider.foundationdb.storestate
Classes for caching
RecordStoreState
information.
If not cached, every FDBRecordStore
needs to retrieve this information with the database prior to performing any other operations with
the record store. (In most cases, this should be done with the
create()
or
open()
methods.)
This information is critical for maintaining an accurate view of the record store's meta-data version in the
face of meta-data updates, but reading this information with every transaction can create hot spots in the
underlying database that can degrade performance. To avoid that performance pathology, the classes in
this package can be used to cache the store state information.-
Interface Summary Interface Description FDBRecordStoreStateCache A cache forFDBRecordStoreStateCacheEntry
objects.FDBRecordStoreStateCacheFactory A factory interface forFDBRecordStoreStateCache
s. -
Class Summary Class Description FDBRecordStoreStateCacheEntry Information needed to initialize anFDBRecordStore
that is not stored within the record store'sRecordMetaData
.MetaDataVersionStampStoreStateCache An implementation of theFDBRecordStoreStateCache
that uses the database's meta-data version-stamp key as the cache invalidation key.MetaDataVersionStampStoreStateCacheFactory A factory for creatingMetaDataVersionStampStoreStateCache
s.PassThroughRecordStoreStateCache An implementation of theFDBRecordStoreStateCache
interface that does not actually cache anything.PassThroughRecordStoreStateCacheFactory A factory for creatingPassThroughRecordStoreStateCache
s.ReadVersionRecordStoreStateCache An implementation of theFDBRecordStoreStateCache
that uses the read-version of the associated transaction as the cache invalidation key.ReadVersionRecordStoreStateCacheFactory A factory for creatingReadVersionRecordStoreStateCache
s.