thanks Massimo. I'm using memcache on dev_appserver & GAE and just cache.ram locally; so I think "wrapping" database access and managing cache keys myself are probably the best route forward.
On 26 February 2011 16:31, Massimo Di Pierro <[email protected]>wrote: > I cannot think of a better way but, if you use cache.ram, you can find > the actual cached data in > > cache.ram.meta_storage[request.application] > > which is a python dict. It if not thread safe to write in there unless > you do: > > > cache.ram.locker.lock() > cache.ram.meta_storage[request.application][key]=value > cache.ram.locker.release() > > You can try find out what is in there and clear it yourself. > > > On Feb 26, 7:59 am, Carl <[email protected]> wrote: > > a thought... > > > > would anyone recommend that one avoids passing a cache parameter > > into .select() and instead handle the cache keys oneself? > > that would enable smarter clearing of cache keys when the database is > > updated and so rely on less internal Web2py detail > > > > On Feb 25, 5:18 pm, Carl <[email protected]> wrote: > > > > > > > > > > > > > > > > > Web2py has an elegant interface to using cache (ram/disk/memcache) but > > > is there a hole when it is applied to database actions? > > > > > When using database .select() statements one can specify the use of > > > caching using... > > > e.g., ... .select(cache=(cache.ram, 60 * 60 * 24)) # cache result for > > > a day > > > > > To flush a cache I can't find a clean/targeted solution. > > > > > I've read postings (mdipierro, 9mar2010): > > > ... after insert/update/delete you do > > > db(...).select(cache=(cache.disk,0)) > > > > > or: > > > cache.ram.clear(db._uri + '/SELECT') > > > > > The former flushes all the contents of the cache and the latter, using > > > the private variable _uri, restricts the flush to all database > > > selects. > > > > > Is there a better way extend Web2py's cache system to supporting > > > databases? > > > > > Can we get one more step of specificity? Namely, can we limit the > > > flush to a specific table or tables? >

