Pamięć podręczna zestawu pamięci podręcznej Django nie przechowuje danych


Kiedy uruchamiam
python manage.py shell
, a następnie:
from django.core.cache import cache
cache.set("stack","overflow",3000)
print cache.get("stack")(output: ) None

Próbowałem ponownie uruchomić MemCache, a to w moich ustawieniach:
CACHES = { 
'default' : {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION' : '127.0.0.1:11211',
}
}

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Upewnij się, że używa poprawnej pamięci podręcznej. Spróbuj z Django.core.Cache Import CHACHES , a następnie sprawdź zawartość
Caches.all ()
. Powinien mieć tylko jedną instancję
Django.core.Cache.Backi.MemCached.memCachedCache
.

Jeśli tak, spróbuj uzyskać do niego bezpośredni dostęp, na przykład
from django.core.cache import caches 
m_cache = caches.all()[0]
m_cache.set("stack","overflow",3000)
m_cache.get("stack")

Może nie rozwiązać twojego problemu, ale przynajmniej przynosi Cię do debugowania MemCached zamiast serwera proxy Cache Django lub konfiguracji.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Uważam, że django uzupełnia klucz wersją. Na przykład,
django_memcache.set('my_key', 'django', 1000)

Ustaw klawisz
: 1: My_key
w MemCache:
<36 set :1:my_key 0 1000 6
>36 STORED

Jeśli jednak ustawisz klawisz przez Telnet lub moduł Python-MemCached, zapisze klucz RAW, zgodnie z oczekiwaniami:
<38 set my_key 0 1000 13 
>38 STORED

Więc może nie zażądasz właściwego klucza?
Cm
... https:// docs.djangoproject.com/en/1.10/themes/cache/# cache-key-processing
https://docs.djangoproject.com ... ation

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się