2012-01-28 18 views
16

Próbuję zrozumieć, w jaki sposób Django ustawia klucze dla moich widoków. Zastanawiam się, czy istnieje sposób, aby po prostu pobrać wszystkie zapisane klucze z Memcached. coś jak cache.all() czy coś takiego. Próbowałem znaleźć klucz z cache.has_key('test'), ale nadal nie mogę dowiedzieć się, jak są nazwy kluczy widoku.Uzyskaj listę kluczy pamięci podręcznej w Django

UPDATE: Powodem muszę to dlatego muszę ręcznie usunąć części pamięci podręcznej, ale nie wiem kluczowych wartości Django jest ustawienie dla mojego cache_view kluczowego

+0

mógłby pan wyjaśnić, dlaczego trzeba to? Jak moja odpowiedź poniżej wspomina, nie jest to możliwe w Django. Jeśli znamy Twój przypadek użycia, możemy zaproponować alternatywne rozwiązania. –

Odpowiedz

-1

Istnieją pewne dziwne obejścia można zrobić, aby dostać wszystko klucze z wiersza poleceń, ale nie ma sposobu, aby to zrobić z memcached wewnątrz Django. Zobacz this thread.

0

Jak wspomniano, nie ma sposobu, aby uzyskać listę wszystkich kluczy pamięci podręcznej w django. Jeśli korzystasz z zewnętrznej pamięci podręcznej (np. Memcached lub buforowania bazy danych), możesz bezpośrednio sprawdzić zewnętrzną pamięć podręczną.

Ale jeśli chcesz się dowiedzieć, jak przekonwertować klucz django do tego użytego w systemie zaplecza, zrobi to funkcja django: make_key().

https://docs.djangoproject.com/en/1.8/topics/cache/#cache-key-transformation

>>> from django.core.cache import caches 
>>> caches['default'].make_key('test-key') 
u':1:test-key' 
Powiązane problemy