web-dev-qa-db-fra.com

Bons exemples de python-memcache (memcached) utilisé en Python?

J'écris une application Web en utilisant Python et le framework web.py, et je dois utiliser memcached tout au long.

J'ai cherché sur Internet à la recherche d'une bonne documentation sur le module python-memcached , mais tout ce que j'ai pu trouver, c'est cet exemple sur le site Web de MySQL , et la documentation sur ses méthodes n'est pas génial.

90
Jonathan Prior

C'est assez simple. Vous écrivez des valeurs à l'aide de clés et de délais d'expiration. Vous obtenez des valeurs en utilisant des clés. Vous pouvez expirer les clés du système.

La plupart des clients suivent les mêmes règles. Vous pouvez lire les instructions génériques et les meilleures pratiques sur la page d’accueil de memcached .

Si vous voulez vraiment creuser, je regarderais la source. Voici le commentaire en-tête:

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

Je vous conseillerais d'utiliser pylibmc à la place.

Il peut remplacer python-memcache, mais beaucoup plus rapidement (comme il est écrit en C). Et vous pouvez trouver une documentation pratique pour cela ici .

Et à la question, comme pylibmc ne fait qu’un remplacement instantané, vous pouvez toujours vous référer à la documentation de pylibmc pour votre programmation python-memcache.

43
Felix Yan

Une bonne règle à suivre: utilisez le système d'aide intégré à Python. Exemple ci-dessous ...

jdoe@server:~$ 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
    =============
...
------------------------------------------
7
Yarnix