Słyszałem o redis-cache, ale jak to dokładnie działa? Czy jest używany jako warstwa między django i moim rdbms, w jakiś sposób buforując zapytania rdbms?
A może ma być używany bezpośrednio jako baza danych? W co wątpię, ponieważ ta strona github nie zawiera żadnych danych logowania, żadnej konfiguracji ... po prostu mówi ci, aby ustawić jakąś właściwość config.
To, że Redis przechowuje rzeczy w pamięci, nie oznacza, że ma to być pamięć podręczna. Widziałem ludzi używających go jako trwałego magazynu danych.
Fakt, że może być używany jako pamięć podręczna, wskazuje, że jest przydatny jako pamięć o wysokiej wydajności. Jeśli system Redis przestanie działać, możesz utracić dane, które nie zostały ponownie zapisane na dysku. Istnieje kilka sposobów na złagodzenie takich zagrożeń, np. Replika w trybie hot-standby. Jeśli Twoje dane mają kluczowe znaczenie dla misji, na przykład jeśli prowadzisz bank lub sklep, Redis może nie być dla Ciebie najlepszym wyborem. Ale jeśli napiszesz grę o dużym natężeniu ruchu z trwałymi danymi na żywo lub niektórymi elementami interakcji społecznej i zarządzasz prawdopodobieństwem utraty danych, aby było całkiem akceptowalne, to Redis może być wart obejrzenia.
W każdym razie pozostaje kwestia, tak, Redis może być używany jako baza danych.
źródło
Redis to w zasadzie sklep KV „w pamięci” z mnóstwem dzwonków i gwizdków. Jest niezwykle elastyczny. Możesz go używać jako magazynu tymczasowego, takiego jak pamięć podręczna, lub magazynu stałego, takiego jak baza danych (z zastrzeżeniami, o których mowa w innych odpowiedziach).
W połączeniu z Django najlepszym / najczęstszym przypadkiem użycia Redis jest prawdopodobnie buforowanie „odpowiedzi” i sesji.
Tutaj jest zaplecze https://github.com/sebleier/django-redis-cache/ i doskonała dokumentacja w dokumentach Django tutaj: https://docs.djangoproject.com/en/1.3/topics/cache/ .
Niedawno zacząłem używać https://github.com/erussell/django-redis-status do monitorowania mojej pamięci podręcznej - działa to niezwykle. (Skonfiguruj maxmemory w redis lub wyniki nie są zbyt przydatne).
źródło
Możesz także użyć Redis jako kolejki do zadań rozproszonych w aplikacji Django. Możesz go używać jako brokera komunikatów dla Celery lub Python RQ .
źródło
Redis jako podstawowa baza danych
Tak, możesz użyć magazynu kluczy i wartości Redis jako podstawowej bazy danych. Redis nie tylko przechowuje pary klucz-wartość, ale także obsługuje różne struktury danych, takie jak
Typy danych Redis Official doc
Usługa Redis znajduje się w magazynie klucza i wartości pamięci, więc musisz być tego świadomy, jeśli wystąpi awaria serwera Redis, Twoje dane zostaną utracone.
Redis może również utrwalać kontrolę danych w oficjalnym dokumencie.
Oficjalny dokument Redis Persistence
Redis jako pamięć podręczna
Tak Redis znajdują się w Django i RDBMS.
Jak to działa
Framework pamięci podręcznej Django Official Doc
Jak można używać Redis z Django
Możemy użyć klienta redis python redis-py dla aplikacji Django.
Klient Redis Python redis-py Github
Możemy użyć Django-redis do obsługi pamięci podręcznej django.
Django-redis jest zbudowany na redis-py i dodał dodatkowe funkcje związane z aplikacją django.
Django-redis doc Github
Istnieją również inne biblioteki.
Przypadki użycia i typy danych w Redis
Niektóre przypadki użycia
Najpopularniejsze przypadki użycia Redis według typów struktur danych podstawowych
Firmy Big Tech używające Redis
źródło