Comparaison des performances entre PhpRedis et Predis (exemple)

藏色散人
Libérer: 2023-04-05 16:16:02
original
5057 Les gens l'ont consulté

Il y a eu une longue discussion sur la comparaison des performances entre PhpRedis et Predis. Dans cet article, je vais vous présenter comment mesurer les performances de ces bibliothèques basées sur le framework le plus populaire Laravel.

Comparaison des performances entre PhpRedis et Predis (exemple)

PhpRedis est une extension PHP permettant de communiquer avec le stockage Redis. (Recommandations associées : Tutoriel Redis)

Predis est une alternative à PhpRedis sur PHP pur qui ne nécessite aucune extension C supplémentaire par défaut, mais peut éventuellement être associée à phpiredis.

J'ai testé ces deux bibliothèques en utilisant du code de projet à forte charge avec environ 10 000 utilisateurs en ligne.

Environnement de test :

Système d'exploitation : Ubuntu 18.04.2 LTS x86_64

CPU : Intel i7-6820HQ (8) à 3,600 GHz

Mémoire : 32 Go

PHP : v7.2.15

Laravel : v5.7.25

MySQL : MySQL v5.7

Redis : v5.0.3

PhpRedis : v4.2.0

Predis : v1.1.1

Le script génère un cache à partir de la base de données et stocke le modèle convaincant dans Redis.

Par défaut, Laravel ne prend pas en charge les sérialiseurs personnalisés pour Redis, mais j'ai utilisé le package Laravel Lodash pour y parvenir.

Résultat :

Predis (serializer: php)
Execution time: 00:05:53.0355
Cache storage used: 936.92MB
— — — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary)Execution time: 00:07:45.2460
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
Predis (serializer: igbinary, with ext-phpiredis)Execution time: 00:07:51.9046
Cache storage used: 342.66MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: php)Execution time: 00:01:36.9863
Cache storage used: 936.75MB
— — — — — — — — — — — — — — — — — 
PhpRedis (serializer: igbinary)Execution time: 00:01:37.3176
Cache storage used: 342.66MB
Copier après la connexion

Remarque :

Execution time:执行时间
Cache storage used:缓存存储
Copier après la connexion

Conclusion :

PhpRedis la vitesse est d'environ x6 fois. L'utilisation du sérialiseur igbinary peut réduire la taille des données stockées d'environ 3 fois. Si vous installez Redis sur une autre machine, la réduction du trafic réseau accélérera considérablement les choses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal