Partage de technologie

Configuration et optimisation NoSQL REDIS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Introduction à Redis

Redis (Remote Dictionary Server) est une base de données NoSQL open source écrite en langage C. Elle s'exécute sur la base de la mémoire et prend en charge la persistance, en utilisant une forme de stockage clé-valeur. Redis est largement utilisé dans la mise en cache, les systèmes d'analyse en temps réel, les classements et d'autres scénarios en raison de ses hautes performances, de sa prise en charge riche des types de données et de ses opérations atomiques.
Le programme serveur Redis est un modèle à processus unique, c'est-à-dire que plusieurs processus Redis peuvent être démarrés simultanément sur un serveur, et la vitesse de traitement réelle de Redis dépend entièrement de l'efficacité d'exécution du processus principal. Si un seul processus Redis est en cours d'exécution sur le serveur, lorsque plusieurs clients y accèdent en même temps, la capacité de traitement du serveur diminuera dans une certaine mesure ; si plusieurs processus Redis sont ouverts sur le même serveur, Redis améliorera les capacités de traitement simultanées. En même temps, cela exercera beaucoup de pression sur le processeur du serveur. Autrement dit : dans l'environnement de production réel, vous devez décider du nombre de processus Redis à démarrer en fonction des besoins réels. Si vous avez des exigences plus élevées en matière de simultanéité élevée, vous pouvez envisager de démarrer plusieurs processus sur le même serveur. Si les ressources CPU sont limitées, un seul processus peut être utilisé.

2. Installation de Redis sur Linux

Il existe principalement les méthodes suivantes pour installer Redis sous Linux :

1. Installer à l'aide d'un gestionnaire de packages

Pour la plupart des distributions Linux, Redis peut être installé directement à l'aide d'un gestionnaire de packages.Par exemple, sur Ubuntu ou Debian, vous pouvez utiliserapt-getCommande:

bash复制代码

sudo apt-get update
sudo apt-get install redis-server

Sur CentOS ou Red Hat, utilisezyumCommande:

bash复制代码

sudo yum update
sudo yum install redis

2. Compilez et installez à partir du code source

Une autre méthode d'installation consiste à télécharger le code source à partir du site Web officiel de Redis, puis à le compiler et à l'installer. Procédez comme suit:

  1. Installer les outils de compilation

    Tout d'abord, vous devez installer des outils de compilation tels que gcc.Sur CentOS ou Red Hat, vous pouvez utiliseryumInstaller:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Télécharger le code source de Redis

    Téléchargez le dernier package compressé (tel que redis-6.xxtar.gz) sur le site officiel de Redis.

  3. Compiler et installer

    Décompressez le package compressé téléchargé, entrez dans le répertoire de décompression et exécutez les commandes de compilation et d'installation :

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Configurer le service Redis

    Vous pouvez utiliser ce que Redis fournitinstall_server.shScript pour configurer le service Redis ou configurez-le manuellement.

3. Configuration et optimisation de Redis

1. Fichier de configuration

Le fichier de configuration de Redis est généralementredis.conf, vous pouvez configurer divers paramètres de Redis en modifiant ce fichier.

  • Lier l'adresse : Par défaut, Redis n'accepte que les connexions depuis l'interface locale.Si vous souhaitez que Redis accepte les connexions d'autres hôtes, vous devez modifierbindoption ou commentez la ligne.
  • mode protégé : Redis s'exécute en mode protégé par défaut et n'accepte que les connexions de 127.0.0.1. La désactivation du mode protégé autorise les connexions à distance.
  • Authentification par mot de passe: Pour améliorer la sécurité, vous pouvez définir un mot de passe pour Redis.
  • Persistance : Redis prend en charge deux mécanismes de persistance : RDB et AOF. La persistance peut être activée en définissant les options dans le fichier de configuration.
  • Limite de mémoire maximale: Vous pouvez définir l'utilisation maximale de la mémoire de Redis et la stratégie d'élimination lorsque la mémoire maximale est atteinte.

2. Optimisation des performances

L'optimisation des performances Redis comprend principalement le contrôle de l'allocation de mémoire, les paramètres de swappiness, l'optimisation de la connexion réseau, etc.

  • Contrôle de l'allocation de mémoire

    dans le système d'exploitation Linuxvm.overcommit_memory Les paramètres contrôlent la stratégie d’allocation de mémoire. Redis recommande de définir cette valeur sur 1 afin que les opérations de fork puissent être effectuées avec succès même dans des situations de mémoire insuffisante.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • paramètres d'échange

    Le paramètre swappiness détermine la tendance du système d'exploitation à utiliser le swap. Pour les applications qui nécessitent une concurrence élevée et un débit élevé, il est recommandé de définir le swappiness sur une valeur inférieure afin de réduire le risque que les E/S disque ne deviennent un goulot d'étranglement du système.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Optimisation de la connexion réseau

    Garantissez une connexion réseau stable et réduisez les retards du réseau et la perte de paquets.Dans le même temps, configurez raisonnablement les paramètres TCP de Redis, tels quetcp-keepaliveetc. pour améliorer la stabilité et la fiabilité de la connexion réseau.

3. Surveillance et débogage

  • Afficher l'état de Redis

    peut utiliserredis-cliCommande pour se connecter au serveur Redis et exécuterINFOcommande pour afficher l'état actuel de Redis, y compris l'utilisation de la mémoire, l'état de persistance, le nombre de connexions, etc.

  • Afficher les fichiers journaux

    Les fichiers journaux Redis se trouvent généralement à l'emplacement/var/log/redis/redis-server.log, vous pouvez obtenir des informations sur les erreurs et l'état d'exécution en affichant le fichier journal.