I am implementing caching for my Python application and I want to use memcached. Which module do you suggest me to use? There are so many that I don't know which one to choose.
Thanks, B开发者_StackOverflow中文版oda Cydo.
I use python-memcached and there's some good advice on usage in the source code header, referenced in this answer.
Use the third parameter to set the expiry.
From bundled memcached.html
help file:
set(self, key, val, time=0, min_compress_len=0)
so
mc.set(key, val, time)
More info and exmaples here
I use cmemcache, which is more performant (but no more mantained). As its developer suggest, you can switch to http://code.google.com/p/python-libmemcached.
I use python-memcache because:
- You can run in locally
- It is embedded in Django framework
- Simple to use
from memcached.py header:
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")
or use as part of Django framework: (details here)
>>> from django.core.cache import cache
>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')
'hello, world!'
精彩评论