Question

Je l'ai entendu parler de Redis-cache, mais comment ça marche exactement? Est-il utilisé comme une couche entre django et mes SGBDR, en mettant en cache les requêtes SGBDR en quelque sorte?

Ou est-il censé être utilisé directement comme la base de données? Ce dont je doute, puisque cette page GitHub ne couvre pas tous les détails de connexion, aucune configuration .. vous indique juste de définir une propriété de configuration.

Était-ce utile?

La solution

Ce module Python pour Redis a un exemple d'utilisation claire dans le readme: http://github.com/ andymccurdy / Redis-py

Redis est conçu pour être un cache de RAM. Il prend en charge GET de base et un ensemble de touches ainsi que le stockage des collections telles que des dictionnaires. Vous pouvez mettre en cache des requêtes SGBDR en stockant leur sortie dans Redis. L'objectif serait d'accélérer votre site Django. Ne commencez pas à utiliser Redis ou tout autre cache jusqu'à ce que vous avez besoin de la vitesse -. Ne pas optimiser prématurément

Autres conseils

Juste parce que Redis choses stocke en mémoire ne signifie pas qu'il est censé être un cache. Je l'ai vu des gens utiliser comme magasin persistant pour les données.

Ce qu'il peut être utilisé comme un cache est une indication qu'il est utile en tant que stockage haute performance. Si votre système Redis tombe en panne si vous risquez de perdre des données non été réécrites sur le disque à nouveau. Il existe des moyens d'atténuer ces dangers, par exemple une réplique de secours automatique. Si vos données sont « mission critique », comme si vous exécutez une banque ou un magasin, Redis pourrait ne pas être le meilleur choix pour vous. Mais si vous écrivez un jeu à fort trafic avec des données en direct persistants ou des trucs d'interaction sociale et de gérer la probabilité de perte de données tout à fait acceptable, Redis pourrait être le coup d'oeil.

Quoi qu'il en soit, le point reste, oui, Redis peut être utilisé comme une base de données.

Redis est essentiellement un magasin de KV « en mémoire » avec des charges de cloches et de sifflets. Il 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 mentionnées dans d'autres réponses).

Lorsqu'il est combiné avec Django le meilleur des cas / utilisation la plus courante pour Redis est probablement en cache « réponses » et des sessions.

Il y a un back-end ici https://github.com/sebleier/django-redis- cache / et excellente documentation dans la documentation de 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. (Configurer MaxMemory sur Redis ou les résultats ne sont pas si utiles).

Vous pouvez également utiliser Redis comme une file d'attente pour les tâches distribuées dans votre application Django. Vous pouvez l'utiliser comme un courtier de messages pour céleri ou Python RQ .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top