Good examples of python-memcache (memcached) being used in Python?
Question: I'm writing a web app using Python and the web.py framework, and I need to use
memcached throughout.

I've been searching the internet trying to find some good documentation on the
[python-memcached](http://www.tummy.com/Community/software/python-memcached/)
module, but all I could find was [this example on the MySQL
website](http://dev.mysql.com/doc/refman/5.1/en/ha-memcached-interfaces-
python.html), and the documentation on its methods isn't great.


Answer: It's fairly simple. You write values using keys and expiry times. You get
values using keys. You can expire keys from the system.

Most clients follow the same rules. You can read the generic instructions and
best practices on [the memcached homepage](http://www.danga.com/memcached/).

If you really want to dig into it, I'd look at the source. Here's the header
comment:

    
    
    """
    client module for memcached (memory cache daemon)
    
    Overview
    ========
    
    See U{the MemCached homepage<http://www.danga.com/memcached>} for more about memcached.
    
    Usage summary
    =============
    
    This should give you a feel for how this module operates::
    
        import memcache
        mc = memcache.Client(['127.0.0.1:11211'], debug=0)
    
        mc.set("some_key", "Some value")
        value = mc.get("some_key")
    
        mc.set("another_key", 3)
        mc.delete("another_key")
    
        mc.set("key", "1")   # note that the key used for incr/decr must be a string.
        mc.incr("key")
        mc.decr("key")
    
    The standard way to use memcache with a database is like this::
    
        key = derive_key(obj)
        obj = mc.get(key)
        if not obj:
            obj = backend_api.get(...)
            mc.set(key, obj)
    
        # we now have obj, and future passes through this code
        # will use the object from the cache.
    
    Detailed Documentation
    ======================
    
    More detailed documentation is available in the L{Client} class.
    """
    

