पायथन में मेमोन-मेकचे (मेमकेड) का अच्छा उदाहरण इस्तेमाल किया जा रहा है? [बन्द है]


91

मैं Python और web.py फ्रेमवर्क का उपयोग करके एक वेब ऐप लिख रहा हूं, और मुझे पूरे मेमेकैड का उपयोग करने की आवश्यकता है।

मैं इंटरनेट पर अजगर-ज्ञापन मॉड्यूल पर कुछ अच्छे दस्तावेज खोजने की कोशिश कर रहा हूं, लेकिन मुझे जो कुछ मिल सकता है वह MySQL वेबसाइट पर था , और इसके तरीकों पर प्रलेखन महान नहीं है।

जवाबों:


145

यह काफी सरल है। आप कुंजियों और समाप्ति समय का उपयोग करके मान लिखते हैं। आपको कुंजियों का उपयोग करके मान मिलते हैं। आप सिस्टम से कुंजियों को समाप्त कर सकते हैं।

अधिकांश ग्राहक समान नियमों का पालन करते हैं। आप सामान्य होमपेज पर सामान्य निर्देशों और सर्वोत्तम प्रथाओं को पढ़ सकते हैं ।

यदि आप वास्तव में इसे खोदना चाहते हैं, तो मैं स्रोत को देखूंगा। यहाँ हेडर टिप्पणी है:

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

धन्यवाद, स्रोत कोड टिप्पणियाँ बहुत सहायक हैं।
जोनाथन

मैं नहीं समझ सकता कि 'एमसी' क्या है। क्या आप समझा सकते हैं?
बॉडासिडो

9
mcMemcache क्लाइंट ऑब्जेक्ट है, यह मेमकेच किए गए कनेक्शन का प्रतिनिधित्व करता है।
मोशन

4
@ केविन y whole यह पूरा प्रश्न अजगर के बारे में है । यही प्रदान करता है memcache
ओली

1
@themiurgo उपरोक्त कोड वास्तविक पायथन- मेमकोडेड कोड के हेडर में एक टिप्पणी है । 2009 में यह कैसा था और आज भी यही है। टिप्पणियाँ अब भी कहती हैं "यह पूर्णांक का स्ट्रिंग प्रतिनिधित्व होना चाहिए"। यदि आपको लगता है कि यह गलत है, तो उन्हें अपने दस्तावेज़ अपडेट करने के लिए एक बग दर्ज करें।
ओली

43

मैं आपको pylibmcइसके बजाय उपयोग करने की सलाह दूंगा।

यह पायथन-मेम्चे के प्रतिस्थापन में ड्रॉप-इन के रूप में कार्य कर सकता है, लेकिन बहुत तेज (जैसा कि यह सी में लिखा गया है)। और आप इसके लिए काम दस्तावेज़ीकरण देख सकते हैं यहां

और सवाल के रूप में, pylibmc सिर्फ एक ड्रॉप-इन रिप्लेसमेंट के रूप में कार्य करता है, आप अभी भी अपने पायथन-मेमकेच प्रोग्रामिंग के लिए pylibmc के दस्तावेज़ों को संदर्भित कर सकते हैं।


3
ध्यान दें कि pylibmcपायथन 3 पर काम नहीं करता है।
jbg

2
जबकि सच है, python-memcachedपायथन 3 का समर्थन नहीं करता है। pylibmc वर्तमान में Python 3 सपोर्ट के साथ रिलीज़ की तैयारी कर रहा है
anthonyryan1

10
वे दोनों अब पायथन 3 का समर्थन करते हैं।
आइडिन

1
बस स्थापित करने पर एक नोट: apt-get install libmemcached-devऔर फिरpip install pylibmc
ईसाई

मेरे लिए समस्या यह थी कि pylibmc को linux पर बिल्ड-टूल्स की आवश्यकता होती है और विंडोज़ पर इंस्टॉल करना मुश्किल होता है। मैं मिश्रित जीत / लिन वातावरण का उपयोग करता हूं, इसलिए मैंने अनुकूलता कारणों के लिए अजगर-ज्ञापन पर वापस स्विच किया। सबसे बड़ी समस्या थी मेरे पास लिनक्स उत्पादन सर्वर पर बिल्ड-टूल्स स्थापित करने की नीति थी। अजगर-मेम्केच्ड और पाइलिम्बक के बीच गति अंतर लगभग एक मुद्दा नहीं होना चाहिए।
क्रिस

7

अंगूठे का एक अच्छा नियम: पायथन में अंतर्निहित मदद प्रणाली का उपयोग करें। नीचे उदाहरण ...

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

यह अब मान्य नहीं है। 2.7.3 डिफ़ॉल्ट रूप से इंस्टॉल किए गए एक मेमेचेस मॉड्यूल के साथ जहाज नहीं करता है, और प्रलेखन का लिंक भी टूट गया है।

1
@iandouglas: आप जो लिखते हैं वह मेरे डेबियन 6.0.7 के लिए सही है, लेकिन मुझे केवल apt-get install python-memcacheमॉड्यूल प्राप्त करना था ।
jfg956
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.