Cross-request LRU secondary cache for @expo/entity
. Use
this cache with caution - it is nonstandard. The cache is shared between requests in the node process.
- Create a concrete implementation of abstract class
EntitySecondaryCacheLoader
, in this exampleTestEntitySecondaryCacheLoader
. The underlying data can come from anywhere, but an entity is constructed from the data and then authorized for the viewer. - Create an instance of your
EntitySecondaryCacheLoader
, passing in aLocalMemorySecondaryEntityCache
.const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader( new LocalMemorySecondaryEntityCache( GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({}) ), LocalMemoryTestEntity.loader(viewerContext) );
- Load entities through it:
const loadParams = { id: createdEntity.getID() }; const results = await secondaryCacheLoader.loadManyAsync([loadParams]);