Comments (1)
appx.CachedDatastore#LoadAll
tries to:
- In case none of the entities are cached, It loads all entities in a single batch from datastore.
- Else, it loads all the given entities from the cache in a single batch
- For
each cache miss
it encounters, it then falls back toappx.CachedDatastore#Load
which then does:- In case the entity does not implement
appx.CacheMissQueryable
,appx
will attempt to reconstruct the entity's key based on the entity's implementation ofappx.Persistable#KeyMetadata
so it can be looked up from datastore - In case the entity implements
appx.CacheMissQueryable
andappx
is not able to reconstruct its key then the entity's data is retrieved from datastore by running the provided cache miss query.
- In case the entity does not implement
- Else, an error is returned
Still need to think of the best way to handle errors. Perhaps LoadAll
is able to partially load the give slice in case an entity is not in the cache nor in datastore, should an ErrPartiallyLoaded be returned at the end of the process or should the load process rollback any changes to the slice?
from appx-old.
Related Issues (12)
- PagesIterator needs to resolve next cursor, and add loaded item into the resulting list before it's Done processing page
- Allow users to override the memcache codec used by CachedDatastore
- Add support to cached batch creation
- Allow users to specify expiration time for cached items
- Spike on datastore starts with query workaround
- Add support to batch deletion in appx.Datastore
- Add support to batch updates in appx.Datastore
- Spike on having appx.SearchableModel to work with appengine search API
- Add cache support to queries in CachedDatastore
- Rename appx.Entity#Key() to appx.Entity#GetKey so appx.Model can expose Key field
- Might need to bring back appx.CacheableEntity workaround in order to avoid sending model Key and ParentKey fields in json responses
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appx-old.