Redis
 sql >> Base de données >  >> NoSQL >> Redis

Analyse comparative de la récupération de redis vs mémoire en python (en utilisant timeit)

Dans la comparaison que vous avez mise en place ici, vous mesurez simplement le temps nécessaire à Python pour lier un nouveau nom à une valeur dans le second cas. Cela ne me surprend donc pas que cela soit beaucoup plus rapide que de communiquer avec un processus différent (Redis). Je suppose que ce qui me surprend, c'est que vous envisagez d'obtenir une valeur de Redis si l'option existe simplement pour la garder en mémoire.

Donc, vous devez être plus clair sur la raison pour laquelle vous utilisez Redis pour cela en premier lieu. Il sera toujours plus lent que la mémoire in-process, aucun benchmark n'est nécessaire pour cela. Vous devez vous demander "pourquoi est-ce que je n'utilise pas seulement des listes et des dictionnaires Python" ? Il existe plusieurs réponses valables :vos données sont trop volumineuses pour tenir en mémoire, vous avez besoin de fonctionnalités spécifiques au cache, telles que la disparition des valeurs après un certain temps, ou vous souhaitez les utiliser pour l'IPC ou la persistance. Une fois que vous connaissez la réponse ici, cela informera l'analyse comparative que vous voulez faire. Et la question ressemblera plus à "Comment puis-je obtenir les avantages/caractéristiques que j'ai énumérés ci-dessus pour la moindre pénalité de performance". Redis n'est peut-être pas la seule réponse. Vous pouvez envisager shelf pour la persistance, ou peut-être même une base de données relationnelle complète ou Mongo ou autre.

En bref, une fois que vous avez une bonne idée du pourquoi, le combien de fois se résout de lui-même.