Recommandé (gratuit) : redis
Répertoire d'articles
1. Qu'est-ce que Redis
Redis : REmote DIctionary Server (serveur de dictionnaire distant)
Redis est entièrement Il est open source et gratuit, écrit en langage C et est conforme au protocole BSD. C'est également l'une des bases de données NoSql les plus populaires et est également connu sous le nom de serveur de structure de données. Dans le même temps, Redis est également un simple, efficace, distribué et basé sur la mémoire. Une fois le serveur construit, les services de mise en cache des valeurs-clés sont fournis via des connexions réseau (similaires aux bases de données). 高性能的(key/value)分布式内存数据库
基于内存运行并支持持久化的NoSQL数据库
缓存工具
Redis présente les avantages suivants :
La vitesse de lecture de Redis est de 110 000 fois/s et la vitesse d'écriture est de 80 000 fois/s. Deuxième.
1.性能极高
Les types pris en charge par Redis incluent les types de bases de données String, Hash, List, Set et Ordered Set. 2.丰富的数据类型
Toutes les opérations Redis sont atomiques et enveloppées dans des instructions MULTI et EXEC. 3.原子性
Redis prend en charge la publication/abonnement, les notifications, l'expiration des clés et d'autres fonctionnalités. 4.丰富的读写
Redis utilise son propre séparateur. Le code est très court et aucun verrou (MySQL) n'est utilisé, donc l'efficacité est très élevée. 5.高速读写
Redis stocke les données directement en mémoire si vous souhaitez enregistrer les données sur le disque. La première méthode consiste à utiliser
1.持久化
①定时快照(snapshot)
②基于语句追加(aof)
, l'utilisation de la mémoire est trop élevée. 2.耗内存
Dans le développement d'entreprise, Redis peut être utilisé comme base de données, cache et données chaudes (fréquemment interrogées mais non modifiées ou supprimées), le middleware de messages et la plupart des autres fonctions.
Des exemples de scénarios courants pour Redis sont les suivants :
De nos jours, la mise en cache est une exigence pour presque tous les sites Web de taille moyenne et grande. Le moyen le plus efficace d'utiliser correctement le cache consiste non seulement à améliorer la vitesse d'accès du site Web, mais également à réduire considérablement la pression sur la base de données. Redis fournit une fonction d'expiration des clés et une stratégie flexible d'élimination des clés.
Comme la liste des ventes mensuelles de Taobao, les nouvelles annonces de produits par heure, etc. La structure de données d'ensemble ordonné fournie par Redis peut implémenter diverses applications de classement complexes.
Comme le nombre de vues de produits sur les sites e-commerce, le nombre de lectures de vidéos sur les sites vidéo, etc. Afin de garantir les performances des données en temps réel, +1 doit être donné à chaque fois que vous naviguez. Lorsque la concurrence est élevée, ce sera sans aucun doute un défi et une pression de demander des opérations de base de données à chaque fois. La commande incr fournie par Redis implémente des fonctions de compteur et des opérations de mémoire avec de très bonnes performances et est très adaptée à ces scénarios de comptage.
En mode cluster, lorsqu'il n'y a pas beaucoup d'applications, il suffit généralement d'utiliser la fonction de réplication de session fournie avec le conteneur. Dans l'application Dans des systèmes de plus en plus complexes, les services de session centrés sur des bases de données en mémoire comme Redis sont généralement construits. Les sessions ne sont plus gérées par des conteneurs, mais par des services de session et des bases de données en mémoire.
Le défi technique apporté par la technologie distribuée est l'accès simultané à la même ressource, telle que l'identification globale, la réduction des stocks, les ventes flash, etc. . Les scénarios dans lesquels le degré de concurrence n'est pas important peuvent être mis en œuvre à l'aide de verrous pessimistes et de verrous optimistes de la base de données. Cependant, dans les situations où le degré de concurrence est élevé, il n'est pas idéal d'utiliser des verrous de base de données pour contrôler l'accès simultané aux ressources. ce qui affecte grandement les performances de la base de données. Vous pouvez utiliser la fonction setnx de Redis pour écrire des verrous distribués. Si le paramètre renvoie 1, cela signifie que l'acquisition du verrou échoue. Il y a plus de détails à prendre en compte dans les applications pratiques.
J'aime, je n'aime pas, suivre/être suivi, les amis communs, etc. sont les fonctions de base des sites de réseaux sociaux. Le nombre de visites. Les sites de réseaux sociaux proviennent généralement de Il est relativement volumineux et le type de base de données relationnelle traditionnelle n'est pas adapté au stockage de ce type de données. Les structures de hachage, d'ensemble et d'autres données fournies par Redis peuvent facilement implémenter ces fonctions.
Structure de liste Redis, LPUSH peut insérer un ID de contenu comme mot-clé en tête de liste, LTRIM peut être utilisé pour limiter le nombre de listes, donc La liste est toujours N ID. Il n'est pas nécessaire d'interroger la dernière liste, il suffit d'accéder à la page de contenu correspondante en fonction de l'ID.
Système de messagerie
La file d'attente de messages est un middleware indispensable pour les grands sites Web, tels que ActiveMQ, RabbitMQ, Kafka et d'autres middlewares de file d'attente de messages populaires. Il est principalement utilisé. pour le découplage des activités, la réduction des pics de trafic et le traitement asynchrone des services avec de faibles performances en temps réel. Redis fournit des fonctions de publication/abonnement et de file d'attente de blocage, qui peuvent implémenter un système de file d'attente de messages simple. Cependant, cela n’est pas comparable à un middleware de messagerie professionnel.
3. Téléchargement, installation et déploiement de Redis
Site officiel de Redis en anglais.
Site Web chinois Redis.
Puisque les entreprises développent Redis, 99 % d'entre elles utilisent et installent la version Linux, cet article présente donc uniquement l'installation et le fonctionnement sous Linux. Les amis peuvent utiliser Baidu pour l'installation sous Windows. Accédez au site officiel ci-dessus et cliquez sur Télécharger pour télécharger le package d'installation .gz
et placez-le dans le répertoire /opt
sous Linux (j'ai installé la version 6.0.5 de Redis ici).
tar -zxvf redis-6.0.5.tar.gz
La commande ci-dessus décompresse uniquement Redis. Si vous souhaitez installer Redis, vous avez besoin que le système Linux ait. un environnement gcc. Sinon, vous pouvez utiliser
yum install gcc-c++
pour installer, puis utilisergcc -v
pour afficher la version.
Si l'environnement Linux dispose déjà d'un environnement gcc, utilisez la commande suivante pour installer directement :
make install
Après l'installation, la valeur par défaut est comme Tomcat, qui ne peut pas démarrer automatiquement au démarrage. Vous pouvez modifier l'attribut daemonize dans le fichier redis.conf sur yes.
redis-server /myredis/redis.conf
(Voici le fichier de configuration Redis après modification des propriétés)Vérifiez si le service Redis en arrière-plan est démarré :
ps -ef|grep redis
Activer le service Redis :
redis-cli -p 6379
Fermeture normale, les données seront enregistrées
Utilisez la commande shutdown
dans la ligne de commande redis pour fermer.
Un arrêt anormal peut facilement entraîner une perte de données
Panne de courant, arrêt manuel du processus Redis, etc.
Plusieurs autres commandes Redis
4. Quelques petites connaissances de Redis
Redis est un. processus unique et utilise un modèle de processus unique pour gérer les demandes des clients. Les réponses à des événements tels que la lecture et l'écriture sont obtenues en encapsulant la fonction epoll. La vitesse de traitement réelle de Redis dépend entièrement de l'efficacité d'exécution du processus principal.
epoll est une version améliorée d'epoll créée par le noyau Linux pour gérer de gros lots de descripteurs de fichiers. Il s'agit d'une version améliorée de l'interface IO multiplexée select/poll sous Linux. performances des programmes dans un grand nombre d’utilisations du processeur système lorsqu’il n’y a que quelques connexions simultanées actives.
Redis a 16 bases de données par défaut. Les indices commencent à zéro. La valeur par défaut initiale est d'utiliser la bibliothèque zéro. Vous pouvez utiliser la commande SELECT <dbid></dbid>
pour vous connecter à celle spécifiée. base de données. La commande
dbsize
peut afficher le nombre de clés dans la base de données actuelle et keys *
afficher toutes les clés.
flushdb
: Effacer la bibliothèque actuelle (à utiliser avec prudence)
Flushall
: Effacer toutes les bibliothèques (à utiliser avec prudence) Utilisez )
pour unifier la gestion des mots de passe. Les 16 bibliothèques ont toutes le même mot de passe, et soit elles sont toutes OK, soit aucune ne peut être connectée.
Les index Redis partent tous de zéro
Le port par défaut de Redis est 6379
Autres recommandations d'apprentissage gratuites associées : Tutoriel d'introduction à Redis
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!