Công cụ phiên bản:Làm cách nào để kiểm tra nội dung của bộ nhớ đệm Django bằng Python được ghi nhớ?
- Python 2.6.5
- Django 1.3.1
- memcached 1.4.10
- python-memcached 1,48
Memcached hiện đang chạy:
$ ps -ef | grep memcache
nobody 2993 1 0 16:46 ? 00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
Tôi là người dùng ng memcached và trăn memcached với Proj Django của tôi và tôi đã thiết lập nó như ở sau settings.py
:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 86400,
},
}
tôi đã thiết lập bộ nhớ cache trong các mã:
from django.core.cache import cache
cache.set('countries', ['Canada', 'US'])
sau đó tôi mở một Django vỏ để kiểm tra nội dung của bộ nhớ cache:
>>> from django.core.cache import cache
>>> 'countries' in cache
True
>>> import memcache
>>> mc = memcache.Client(['127.0.0.1:11211'], debug=1)
>>> mc.get('countries')
>>>
Khi tôi sử dụng bộ nhớ cache của Django, countries
tồn tại. Tuy nhiên, khi tôi sử dụng memcache của Python, tôi không nhận được bất cứ điều gì cho các quốc gia. Tôi đang làm gì sai ở trên?
Để tham khảo, django không còn tiền tố khóa tiền tố của nó bằng dấu hai chấm theo mặc định. Tuy nhiên, bạn vẫn có thể thực hiện điều này bằng cách sử dụng tùy chọn cấu hình KEY_PREFIX được mô tả ở đây. http://bit.ly/1lzFFPi –
Tại sao bạn rút ngắn tiền tố [Django Cache Key Prefixing] (https://docs.djangoproject.com/en/dev/topics/cache/#cache-key-prefixing)? – tback
Tôi đã làm điều đó bởi vì tôi đã nghĩ rằng tôi sẽ chạy ra khỏi không gian bình luận. (Tôi sẽ không làm điều đó trong tương lai) –