Django Memcache:比较与设置

2 投票
1 回答
1272 浏览
提问于 2025-04-17 05:06

Django用户组中,Tom Evans解释了在Django中如何进行比较和设置,具体方法如下:

You can access the memcached client via django though: 
>>> from django.core import cache 
>>> c=cache.get_cache('default') 
>>> help(c._client.cas) 

但是我就是没法让它正常工作。

>>> from django.core import cache
>>> c=cache.get_cache('memcache')
>>> help(c._client.cas)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'MemcachedCache' object has no attribute '_client'

如果不使用上面提到的方法,我该如何在Django中进行比较和设置呢?

我使用的是Django 1.3版本。

1 个回答

3

在查看源代码后,我在BaseMemcachedCache里发现了这个:

@property
def _cache(self):
    """
    Implements transparent thread-safe access to a memcached client.
    """
    if getattr(self, '_client', None) is None:
        self._client = self._lib.Client(self._servers)

    return self._client

所以,我想说,这样做是可行的:

c._cache.cas

试试看,然后告诉我结果!

想了解更多细节,可以查看这个链接: https://code.djangoproject.com/svn/django/trunk/django/core/cache/backends/memcached.py

撰写回答