web-dev-qa-db-ja.com

Pythonで使用されているpython-memcache(memcached)の良い例は?

Pythonとweb.pyフレームワークを使用してWebアプリを作成しているため、memcachedを使用する必要があります。

python-memcached モジュールに関する優れたドキュメントを見つけようとしてインターネットを検索してきましたが、見つけることができたのは MySQL Webサイトのこの例 とドキュメントそのメソッドで素晴らしいではありません。

90
Jonathan Prior

とても簡単です。キーと有効期限を使用して値を書き込みます。キーを使用して値を取得します。システムからキーを期限切れにすることができます。

ほとんどのクライアントは同じルールに従います。 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.
"""
144
Oli

代わりにpylibmcを使用することをお勧めします。

Python-memcacheのドロップイン置換として機能しますが、はるかに高速です(Cで記述されているため)。そして、あなたはそれのための便利なドキュメントを見つけることができます ここ

質問に対して、pylibmcはドロップインの代わりとして機能するだけなので、python-memcacheプログラミングについてはpylibmcのドキュメントを参照できます。

43
Felix Yan

目安として、Pythonの組み込みヘルプシステムを使用してください。以下の例...

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