Хорошие примеры использования python-memcache (memcached) в Python?

Я пишу веб-приложение с использованием Python и web.py framework, и мне нужно использовать memcached.

Я искал интернет, пытаясь найти хорошую документацию в модуле python-memcached, но все, что я мог найти, было этот пример на веб-сайте MySQL, а документация по его методам невелика.

Ответ 1

Это довольно просто. Вы пишете значения с помощью ключей и времени истечения. Вы получаете значения, используя ключи. Вы можете истечь ключи от системы.

Большинство клиентов выполняют те же правила. Вы можете прочитать общие инструкции и рекомендации по домашней странице memcached.

Если вы действительно захотите вникать в это, я бы посмотрел на источник. Здесь комментарий заголовка:

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

Ответ 2

Я бы посоветовал вместо этого использовать pylibmc.

Он может выступать в качестве замены для замены python-memcache, но намного быстрее (как написано на C). И вы можете найти для него удобную документацию здесь.

И на вопрос, поскольку pylibmc просто выступает в качестве замены, вы все равно можете ссылаться на документацию pylibmc для программирования python-memcache.

Ответ 3

Хорошее эмпирическое правило: используйте встроенную справочную систему в Python. Пример ниже...

[email protected]:~$ python
Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import memcache
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'memcache']
>>> help(memcache)

------------------------------------------
NAME
    memcache - client module for memcached (memory cache daemon)

FILE
    /usr/lib/python2.7/dist-packages/memcache.py

MODULE DOCS
    http://docs.python.org/library/memcache

DESCRIPTION
    Overview
    ========

    See U{the MemCached homepage<http://www.danga.com/memcached>} for more about memcached.

    Usage summary
    =============
...
------------------------------------------