【问题标题】:Which Python module to use for Memcached?哪个 Python 模块用于 Memcached?
【发布时间】:2011-02-01 06:21:41
【问题描述】:

我正在为我的 Python 应用程序实现缓存,并且我想使用 memcached。你建议我使用哪个模块?太多了,不知道选哪一个。

谢谢,博达·赛多。

【问题讨论】:

    标签: python caching memcached


    【解决方案1】:

    我使用python-memcached,在源代码标头中有一些很好的使用建议,在this answer 中引用。

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

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

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

    所以

    mc.set(key, val, time)
    

    更多信息和例子here

    【讨论】:

    • 谢谢!但是您知道如何使密钥过期吗?该页面上的示例只是设置了密钥,但是如何让它们在 444 秒后过期?
    【解决方案2】:

    我使用 cmemcache,它的性能更高(但不再需要维护)。正如其开发者所建议的,您可以切换到http://code.google.com/p/python-libmemcached

    【讨论】:

    • 我现在一头雾水——不也一样吗?
    【解决方案3】:

    我使用python-memcache 因为:

    1. 可以在本地运行
    2. 嵌入在Django framework
    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 框架的一部分:(details here)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多