On Wed, Oct 26, 2011 at 11:29 PM, dmitry b <dmitry.ma...@gmail.com> wrote: > Can I do check-and-set operations using Django's cache api? > > > Thanks > D. >
Memcached reuse existing terminology and then complain that this causes confusion. Their CAS stands for 'compare and set', rather than the 'compare and swap' that you would assume. Django's cache API is designed to work with a number of backends, not all of which offer an atomic compare and set method, so there is no Django API for accessing compare and set on the memcached backend. You can access the memcached client via django though: >>> from django.core import cache >>> c=cache.get_cache('default') >>> help(c._client.cas) Help on method cas in module memcache: cas(self, key, val, time=0, min_compress_len=0) method of memcache.Client instance Sets a key to a given value in the memcache if it hasn't been altered since last fetched. (See L{gets}). ... (do this yourself to see the whole docs) Malcolm: compare and set is not equivalent to add. Compare and set is used to change a cached value atomically, as long as it has not already changed from the value you think it has. Add only sets a value if it has not already been set. Cheers Tom -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.