使用哪个Python模块来操作Memcached?

5 投票
3 回答
6454 浏览
提问于 2025-04-15 20:53

我正在为我的Python应用程序实现缓存功能,想用memcached。你建议我用哪个模块呢?有很多选择,我不知道该选哪个。

谢谢,Boda Cydo。

3 个回答

2

我使用 python-memcache 的原因是:

  1. 可以在本地运行
  2. 它可以嵌入到 Django框架
  3. 使用起来很简单

来自 memcached.py 的头部信息:

    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")

或者作为Django框架的一部分使用:(详细信息在这里

>>> from django.core.cache import cache
>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')
'hello, world!'
3

我在用cmemcache,这个东西运行得更快(不过现在不再维护了)。它的开发者建议你可以换成http://code.google.com/p/python-libmemcached

6

我在使用 python-memcached,在源代码的头部有一些很好的使用建议,可以在 这个回答中找到。

可以使用第三个参数来设置过期时间。

来自捆绑的 memcached.html 帮助文件:

set(self, key, val, time=0, min_compress_len=0)

所以

mc.set(key, val, time)

更多信息和示例可以在 这里找到。

撰写回答