J'ai entendu parler de redis-cache mais comment ça marche exactement? Est-il utilisé comme couche entre django et mes rdbms, en mettant en cache les requêtes rdbms d'une manière ou d'une autre?
Ou est-il censé être utilisé directement comme base de données? Ce dont je doute, puisque cette page github ne couvre aucun détail de connexion, aucune configuration .. vous dit simplement de définir une propriété de configuration.
Ce n'est pas parce que Redis stocke des choses en mémoire qu'il est censé être un cache. J'ai vu des gens l'utiliser comme stockage permanent de données.
Le fait qu'il puisse être utilisé comme cache est un indice qu'il est utile comme stockage haute performance. Si votre système Redis tombe en panne, vous risquez de perdre à nouveau des données qui n'ont pas été réécrites sur le disque. Il existe plusieurs moyens d'atténuer ces dangers, par exemple une réplique de secours. Si vos données sont `` essentielles à la mission '', comme si vous gérez une banque ou un magasin, Redis n'est peut-être pas le meilleur choix pour vous. Mais si vous écrivez un jeu à fort trafic avec des données en direct persistantes ou des éléments d'interaction sociale et que vous gérez la probabilité de perte de données pour être tout à fait acceptable, alors Redis pourrait valoir le coup d'œil.
Quoi qu'il en soit, le point demeure, oui, Redis peut être utilisé comme base de données.
la source
Redis est essentiellement un magasin KV «en mémoire» avec des tas de cloches et de sifflets. C'est extrêmement flexible. Vous pouvez l'utiliser comme un magasin temporaire, comme un cache, ou un magasin permanent, comme une base de données (avec des mises en garde comme mentionné dans d'autres réponses).
Lorsqu'il est combiné avec Django, le cas d'utilisation le meilleur / le plus courant de Redis est probablement de mettre en cache les «réponses» et les sessions.
Il y a un backend ici https://github.com/sebleier/django-redis-cache/ et une excellente documentation dans la documentation Django ici: https://docs.djangoproject.com/en/1.3/topics/cache/ .
J'ai récemment commencé à utiliser https://github.com/erussell/django-redis-status pour surveiller mon cache - fonctionne un charme. (Configurez maxmemory sur redis ou les résultats ne sont pas très utiles).
la source
Vous pouvez également utiliser Redis comme file d'attente pour les tâches distribuées dans votre application Django. Vous pouvez l'utiliser comme courtier de messages pour Celery ou Python RQ .
la source
Redis en tant que base de données principale
Oui, vous pouvez utiliser le magasin de valeurs-clés Redis comme base de données principale. Redis stocke non seulement des paires clé-valeur, mais prend également en charge différentes structures de données telles que
Types de données Redis Document officiel
Redis est dans le magasin clé-valeur de la mémoire, vous devez donc en être conscient si une défaillance du serveur Redis se produit, vos données seront perdues.
Redis peut également conserver la documentation officielle de vérification des données.
Document officiel Redis Persistence
Redis comme cache
Oui, Redis réside entre Django et SGBDR.
Comment ça fonctionne
Doc officiel du framework de cache de Django
Comment utiliser Redis avec Django
Nous pouvons utiliser le client redis python redis-py pour l'application Django.
Client Redis Python Redis-py Github
Nous pouvons utiliser Django-redis pour le backend du cache django.
Django-redis s'appuie sur redis-py et a ajouté des fonctionnalités supplémentaires liées à l'application django.
Django-redis doc Github
D'autres bibliothèques existent également.
Cas d'utilisation et types de données Redis
Quelques cas d'utilisation
Principaux cas d'utilisation de Redis par types de structure Core Data
Entreprises Big Tech utilisant Redis
la source