I am working on a Google app engine application which uses the Python ndb datastore APIs. Since I am trying to optimize the application I am wondering about caching data instead of querying the datastore as described in this link http://blog.initlabs.com/post/16359268329/how-i-reduced-google-app-engine-costs-by-75.
Anyway as far as I understand NDB already transparently uses memcache https://cloud.google.com/appengine/docs/python/ndb/
I see a high amount of read operations and I can't see why as the data are not frequently changed.
is it pointless to explicitly use memcache when using ndb?
Update
Although I refresh the same page I always see something like this in the appstat
@0ms memcache.Get real=6ms api=0ms cost=0 billed_ops=[]
@7ms datastore_v3.Get real=12ms api=0ms cost=0 billed_ops=[]
@22ms datastore_v3.RunQuery real=16ms api=0ms cost=0 billed_ops=[]
@41ms datastore_v3.RunQuery real=12ms api=0ms cost=0 billed_ops=[]
@92ms datastore_v3.RunQuery real=71ms api=0ms cost=0 billed_ops=[]
which makes me think the memcache.Get (first Row) failed. Am I right? how can it be?