नीचे मेरी सरल अजगर memcached कोड निहारना atomically एक memcached सूची में कोई आइटम जोड़ने के लिए: अब(अजगर में)
import memcache
memcache_client = memcache.Client(['127.0.0.1:11211'], debug=True)
key = "myList"
obj = ["A", "B", "C"]
memcache_client.set(key, obj)
, मान लीजिए मैं myList
के रूप में कैश की गई सूची में एक तत्व 'डी' संलग्न करना चाहते हैं , मैं इसे परमाणु रूप से कैसे कर सकता हूं?
मैं जानता हूँ कि यह गलत है क्योंकि यह परमाणु नहीं है:
memcache_client.set(key, memcache_client.get(key) + ["D"])
ऊपर बयान एक रेस स्थिति शामिल है। यदि कोई अन्य धागा सही निर्देश पर उसी निर्देश को निष्पादित करता है, तो अपडेट में से एक को गिरफ्तार कर लिया जाएगा।
मैं इस दौड़ की स्थिति को कैसे हल कर सकता हूं? मैं परमाणु रूप से memcached में संग्रहीत एक सूची या शब्दकोश कैसे अद्यतन कर सकते हैं?
https://code.google.com/p/memcached/wiki/NewCommands – user3159253
संभावना इस जवाब, आप 'cas()' (चेक-और-सेट) सरल की का उपयोग करना चाहिए बजाय है 'सेट() ' – user3159253
आप किस पायथन memcache lib का उपयोग कर रहे हैं? – Anentropic