purpose is to keep a single renewable pseudo-random data sample live 

the w2p books describes a situation of a constant query :
http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer?search=caching+selects#Caching-selects
def cache_db_select(): 
    logs = db().select(db.log.ALL, cache=(cache.ram, 60)) 
    return dict(logs=logs)

now suppose every call a different query like here :

def cache_this():
    nget = somevalue
    kount = db(db.atable.id > 0).count() 
    offset = randint(0, kount - nget)
    limitby = (offset, offset + nget)
    rows = db(db.atable.id > 0).select(limitby=limitby, cache=(cache.redis, 60))
    return dict(rows=rows)



this accumulates cached 'material' and returns a different rows on every call
how do I make *cache_this* behave like the book example ?

I could cache kount and offset variables as well :

kount = db(db.atable.id > 0).count(cache=(cache.redis, 60)) 
offset = cache.redis('offset', lambda: randint(0, kount-nget), time_expire=60) 


but i suppose this would lead to a synchronization problem and thus possible 
duplicate cached select

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to