2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Une base de données relationnelle est une base de données structurée, créée sur une base de données de modèle relationnel et créée orientée enregistrement.
Bases de données relationnelles courantes : Oracle, MySQL, SQL Server, Microsoft Access, DB2.
NOSQL=Not Only SQL est le terme général désignant les bases de données non relationnelles. Selon la méthode de stockage, la structure de stockage et les scénarios d'utilisation, on parle de base de données non relationnelle. Les bases de données autres que les bases de données relationnelles traditionnelles peuvent être appelées bases de données non relationnelles.
Bases de données non relationnelles courantes : Redis, MongoDB, Hbase, CouhDB.
Redis 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. Elle adopte une forme de stockage clé-valeur (paire clé-valeur). Son numéro de port est le 6379.
1. Installez Redis
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install gcc* zlib-devel
[root@localhost ~]#tar xvzf redis-4.0.9.tar.gz
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# créer
Avis:
Un message d'erreur sera généré après make,
solution:
Solution 1 : utilisez make MALLOC=libc pour spécifier l'allocateur de mémoire à compiler pour la libc
Solution 2 : faire propre et& faire distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[utils root@localhost]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utils/
Parmi eux : install_server.sh est le script d'initialisation
[root@localhost utils]# ./install_server.sh
Veuillez sélectionner le chemin de l'exécutable Redis [] /usr/local/redis/bin/redis-server(donner le chemin de l'exécutable)
Afficher le contrôle des processus et des services
[utils root@localhost]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* ÉCOUTER 5360/serveur-redis 1
[root@localhost utils]# /etc/init.d/redis_6379 stop(Redis est fermé)
[root@localhost utils]# /etc/init.d/redis_6379 démarrage(sur)
[root@localhost utils]# /etc/init.d/redis_6379 état (État)
Modification des paramètres de configuration
[root@localhost ~]#vim /etc/redis/6379.conf
lier 127.0.0.1 192.168.10.101//Adresse de l'hôte d'écoute
port 6379 //port
démoniser oui //Activer le processus démon
fichier pid /var/run/redis_6379.pid //Spécifiez le fichier PID
Avis de niveau de journalisation//niveau de journal
fichier journal /var/log/redis_6379.log// Spécifier le fichier journal
[root@localhost~]#/etc/init.d/redis_6379 redémarrage
2.redis outil de commande
[root@localhost utils]# redis-cli(Connexion locale)
[utils root@localhost]# redis-cli -h 192.168.10.101 -p 6379(connexion à distance)
192.168.10.101:6379> ping(Le service de détection fonctionne normalement)
PONG
3 : outil de test de référence Redis
redis-benchmark est l'outil officiel de test de performances Redis qui peut tester efficacement les performances des services Redis.
(1) Performances des demandes de test
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000
Remarque:
-h : spécifiez le nom d'hôte du serveur ;
-p : Spécifiez le port du serveur ;
-c : spécifiez le nombre de connexions simultanées ;
-n : spécifiez le nombre de requêtes ;
(2) Tester les performances d'accès
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Remarque:
-h : spécifiez le nom d'hôte du serveur ;
-p : Spécifiez le port du serveur ;
-d : Spécifiez la taille des données de la valeur SET/GET en octets ;
-q : forcer la fermeture de Redis. Seules les valeurs de requête/s sont affichées ;
définir stocke le format de commande de données définir la valeur de la clé
get Obtenir le format de commande de données obtenir la clé
1. Ajouter des paires clé-valeur
127.0.0.1:6379> ensemble 1 1
D'ACCORD
127.0.0.1:6379> ensemble 2 2
D'ACCORD
127.0.0.1:6379> ensemble 3 3
D'ACCORD
2. Afficher toutes les valeurs de la base de données
127.0.0.1:6379> clés *
1) "3"
2) "1"
3) "2"
3. Afficher les données commençant par v dans la base de données
127.0.0.1:6379>CLÉS v*
4. Affichez toutes les données commençant par v dans la base de données
127.0.0.1:6379>CLÉS v?
5.Afficher la base de données actuelle avec v débutCe qui suit contient deux chiffres de données
127.0.0.1:6379>CLÉS v??
Déterminez si la valeur existe.
127.0.0.1:6379>existe f5Déterminer si f5 existe
(entier) 1 Le résultat est 1, indiquant que la clé f5 existe
comme
(entier) 0 Le résultat est 0, indiquant que la touche f5 n'existe pas
du La commande peut supprimer le spécifié clé
127.0.0.1:6379> du v5 Supprimer la v5 dans la base de données
(entier) 1
127.0.0.1:6379>obtenir la v5
(néant)
utiliser taper La commande peut être obtenue clé correspondant valeur type de valeur
127.0.0.1:6379>type k1
chaîne
Remarque:
Types de données pris en charge par Redis
Renommer La commande concerne un existant clé Renommer
En utilisation réelle, il est recommandé d'utiliser existe Commande pour afficher la cible clé existe, puis décidez s'il faut exécuter Renommer commande pour éviter d’écraser des données importantes.
127.0.0.1:6379>renommer v22 v2 Renommer la v22 en v2
D'ACCORD
renamenx La fonction de la commande est de modifier l'existant clé Effectuez un changement de nom et vérifiez si le nouveau nom existe.
utiliserrenamenx Lorsque la commande est renommée, si la cible clé S'il existe, il ne sera pas renommé.
taille de la base de données Le but de la commande est de visualiser la base de données actuelle clé Nombre de.
127.0.0.1:6379> taille de la base de données
(entier) 5
Redis Inclus par défaut sans aucune modification 16 base de données, le nom de la base de données est un nombre 0-15 être nommé dans l'ordre
(1)Passer au numéro de série 10 base de données
127.0.0.1:6379>sélectionnez 10
D'ACCORD
(2)Passer au numéro de série 15 base de données
127.0.0.1:6379[10]>sélectionnez 15
D'ACCORD
(3)Passer au numéro de série 0 base de données
127.0.0.1:6379[15]>sélectionner 0
127.0.0.1:6379>ensemble k1 100 Créer k1 dans la base de données 0
D'ACCORD
127.0.0.1:6379>obtenir k1
"100"
127.0.0.1:6379>déplacer k1 1 // Déplacer k1 de la base de données 0 vers la base de données 1
(entier) 1
127.0.0.1:6379>sélectionner 1 // Passer à la base de données cible 1
D'ACCORD
127.0.0.1:6379[1]>obtenir k1 //Afficher les données déplacées
"100"
127.0.0.1:6379[1]> sélectionner 0
D'ACCORD
127.0.0.1:6379> obtenir k1 //La valeur de k1 ne peut pas être visualisée dans la base de données 0
(néant)
Pour effacer les données actuelles de la base de données, utilisez FLUSHDB
Implémentation de la commande ; effacer toutes les données de la base de données, utiliser CHASSE D'EAU Implémentation des commandes.
Redis Toutes les données sont stockées en mémoire, puis enregistrées de manière asynchrone sur le disque de temps en temps.(C'est appelé“Mode semi-persistant”); Vous pouvez également écrire chaque modification de données dans un ajouter uniquement le fichier (aof)dans(C'est appelé“Mode persistance complète”)。
parce que Redis Toutes les données sont stockées en mémoire. Si la persistance n'est pas configurée,Redis Après le redémarrage, toutes les données sont perdues.Il est donc nécessaire d'activerRedis La fonction de persistance enregistre les données sur le disque. Quand. Redis Après un redémarrage, les données peuvent être récupérées à partir du disque.Redis Deux méthodes sont fournies pour la persistance, l'une est RDB(Base de données Redis) Persistance (le principe est de ReidVidage programmé des enregistrements de base de données en mémoire (décharge)sur le disque RDB persistance), l’autre est AOF(ajouter seulement déposer)Persistance (le principe est de Reid Le journal des opérations est écrit dans le fichier en annexe).
La différence entre RDB et AOF
ROB écrit l'instantané des données sur le disque dans l'intervalle de temps spécifié. Il s'agit d'un sous-processus de fork. Il écrit d'abord les données dans un dossier temporaire, puis remplacera le fichier précédent et le stockera avec une compression binaire.
AOF enregistre chaque opération d'écriture et de suppression du serveur sous forme de journal. Les opérations de requête ne seront pas enregistrées, mais seront enregistrées sous forme de texte.
Avantages et inconvénients de RDB et AOF
Avantages du RDB :
RDB est un fichier binaire compact et compressé qui représente un instantané des données Redis à un moment donné. Il est très approprié pour la sauvegarde, la copie complète et d'autres scénarios. Par exemple, effectuez une sauvegarde bgsave toutes les 6 heures et copiez le fichier RDB sur la machine distante ou le système de fichiers pour une reprise après sinistre.
La récupération des données est rapide.
Maximiser les performances
Efficacité de démarrage élevée
RDBdéfaut:
Les données qui n'ont pas été enregistrées avant l'arrêt seront perdues.
RDB est complété via le processus enfant fork, consommant des ressources.
Avantages AOF :
La durabilité des données est élevée
En mode ajout, le contenu du fichier journal ne sera pas détruit même en cas de temps d'arrêt.
Le mécanisme de réécriture peut être démarré pour protéger la sécurité des données.
Inconvénients de l'AOF :
La vitesse de récupération des données AOF est lente
L'efficacité du fonctionnement de l'AOF est faible
Critères de choix entre les deux :
Sacrifiez certaines performances en échange d'une plus grande cohérence du cache (AOF),
Lorsque les opérations d'écriture sont fréquentes, n'activez pas la sauvegarde en échange de performances supérieures et attendez une opération manuelle. sauvegarder quand, faites à nouveau une sauvegarde (RDB)
Remarque:
Si redies doit charger un fichier de persistance après le redémarrage,prioritéLes fichiers AOF seront sélectionnés.
Si RDB est activé en premier, puis AOF est activé et que RDB est conservé en premier, le contenu du fichier RDB sera écrasé par AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Ouvrir 6379.conf Après le fichier, recherchez sauvegarder, vous pouvez voir les informations de configuration comme indiqué ci-dessous.
exister Redis Il existe trois méthodes de synchronisation dans le fichier de configuration, elles sont :
toujours : persistance synchrone, chaque fois que les données changent, elles seront immédiatement écrites sur le disque ##702 ligne
everysec : recommandé par défaut, enregistre de manière asynchrone toutes les secondes (valeur par défaut)
non : pas de synchronisation, laissant au système d'exploitation le soin de décider comment synchroniser
Ignorer la dernière instruction potentiellement problématique
[root@localhost ~]#/etc/init.d/redis_6379 redémarrage
192.168.9.236:7001> mémoire d'informations
mémoire_utilisée:1210776 Taille de la mémoire utilisée, en octets
mémoire_utilisée_humaine:1,15MAffiché avec les unités, en M
mémoire_utilisée_rss:7802880Quelle quantité de mémoire Redis occupe-t-il du point de vue du système d'exploitation ?
mémoire_utilisée_rss_humaine:7.44MAffichage avec unités
mémoire max:1073741824Taille maximale de la mémoire
maxmemory_human:1.00G Affichage avec unités
politique de mémoire maximale: Stratégie de recyclage
volatile-lru: il permet Redis Choisissez le moins récemment utilisé dans l'ensemble des données clé Supprimer
volatile-ttl:Supprimer en fonction du délai d'expiration de la clé
volatile-aléatoire: Sélectionnez aléatoirement les données à éliminer de la collecte de données avec un délai d'expiration défini ;
allkeys-lru:utiliser LRU Les algorithmes éliminent les données de tous les ensembles de données ;
allkeys-aléatoire: Sélectionner au hasard les données à éliminer de la collecte de données ;
pas d'éviction: Désactiver l'élimination des données (valeur par défaut)
Définir le délai d'expiration de la clé
127.0.0.1:6379>expire v1 10 La v1 a un délai d'expiration de 10 secondes
Remarque:
quand Redis Besoin d'en récupérer un en raison de la pression de la mémoire clé heure,Redis La première considération n’est pas de recycler les données les plus anciennes, mais les données les moins récemment utilisées. clé ou sur le point d'expirer clé Choisissez-en un au hasard parmi clé, supprimé de l'ensemble de données