I used memcached.  Check if the results already exist before hitting
the database.  You'll need to generate a unique key before storing
your results.  You can run memcached on the same machine or a separate
one.  Very easy to setup and use.


linux prompt> yum -y install python-memcached


import memcache
cache = memcache.Client(['localhost:11211'])

def get(self, params):
    query_key = make_key(params)
    records = cache.get(query_key):
    if None == records:
        records = db.query(...)
        cache.set(query_key, records, seconds_to_live)
    # records is now the results of the query from cache or database

Quick an dirty answer but that's the general idea.  Memcached never
blocks and returns pretty consistently in milliseconds if it's running
locally.


On Jul 20, 11:48 am, Branko Vukelic <[email protected]> wrote:
> Hi, all!
>
> In particular, I'm interested in how you folks deal with caching
> database queries so that cached data can be reused between threads.
>
> TIA,
>
> --
> Branko
>
> eml: [email protected]
> alt: [email protected]
> blg:http://sudologic.blogspot.com/
> img:http://picasaweb.google.com/bg.branko
> twt:http://www.twitter.com/foxbunny/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/webpy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to