Maison > Article > base de données > Configuration de la persistance Redis (introduction d'image et de texte)
redis est une base de données de valeurs-clés de type open source et hautement disponible c语言
(NoSQL, pas seulement une base de données) écrite par 非关系型数据库
.
Différentes des bases de données traditionnelles, les données Redis existent 内存
, donc les performances de lecture et d'écriture ne sont généralement pas élevées et peuvent atteindre 100 000 opérations par seconde, elles sont donc largement utilisées dans la mise en cache. Par exemple : partager des sessions avec. Tomcat dans l'architecture du site Web, effectuez la mise en cache de la base de données, etc.
Avantages
Vitesse de lecture et d'écriture rapide, la lecture peut atteindre 110 000 fois/s, l'écriture peut atteindre 81 000 fois/ s, Il est écrit en langage C, le code est élégant et il s'agit d'une architecture monothread, il a donc une efficacité d'exécution élevée et une vitesse rapide
Prend en charge une variété de structures de données , chaîne (chaîne, également la plus couramment utilisée), hachage, liste, ensemble, ensemble ordonné (ZSET)
Fonctions riches, telles que : compteur naturel, fonction d'expiration de clé , File d'attente des messages, etc.
prend en charge de nombreux langages clients, prend en charge php, java, python
prend en charge la persistance des données
Livré avec une variété d'architectures à haute disponibilité, telles que : réplication maître-esclave, sentinelle, cluster haute disponibilité
Inconvénients
C'est précisément parce que les données sont stockées dans la mémoire que les exigences en matière de performances du serveur sont strictes. Vous pouvez choisir la quantité de mémoire à acheter en fonction du volume d'activité. Il est difficile de réaliser une expansion en ligne, le premier achat est donc nécessaire. Soyez prudent
La persévérance est mentionnée ci-dessus. Qu'est-ce que la persévérance ?
Prend en charge 2 formats de données persistantes AOF, RDB et un mélange de ces deux, AOF&RDB
Remarque : lorsque ces deux formats sont activés, redis AOF est préféré pour récupération de données, mais RDB est la méthode de persistance par défaut. Persistance AOF : Il enregistre chaque commande exécutée par redis dans un fichier journal désigné séparément Lors du redémarrage ou de la récupération des données, les données du fichier journal seront restaurées
RDB : Tout comme prendre un. instantané, définissez le cycle d'instantané en fonction des paramètres de sauvegarde définis dans le fichier de configuration, puis enregistrez-le sur le disque dur. Un fichier dump.rdb sera généré
Comparaison entre AOF et RDB :
Les fichiers 1AOF sont mis à jour plus fréquemment que rdb, la priorité est donnée à l'utilisation de aof pour restaurer
aof est plus sécurisé que rdb
Performances de rdb Meilleures que aof, lorsque la quantité de données est importante, la vitesse de récupération des journaux est plus lente que rdb
Pendant la lecture et l'écriture continues, si rdb prend un instantané , il y aura un retard dans les données et les données récupérées seront incomplètes
Structure des données Redis
1 Créez un répertoire de données
mkdir -p /redis/soft mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
Expliquez pourquoi vous créez vous-même les répertoires conf, logs et pid au lieu de. les laissant L'initialisation est générée automatiquement
Nous sommes dans l'ordre de démarrer plusieurs processus Redis sur un hôte pour implémenter le cluster Redis ultérieur (au moins 6) (la configuration de l'ordinateur de l'auteur ne me permet pas d'opérer arbitrairement)
2. Téléchargez le package d'installation redis
cd /redis/soft wget http://download.redis.io/releases/redis-5.0.6.tar.gz
3. Décompressez redis dans /opt/redis_cluster/
tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/ ln -s /opt/redis_cluster/redis-5.0.6 /opt/redis_cluster/redis #做好软连接,方便自己管理
4. Changez de répertoire pour installer redis
cd /opt/redis_cluster/redis make && make install
5. fichier/opt/redis_cluster/redis_6379/conf/6379.conf
Ajouter du contenu important
添加: bind 127.0.0.1 192.168.10.1 port 6379 daemonize yes #开启daemon进程pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log databases 16 dbfilename redis.rdb #RDB持久化文件dir /opt/redis_cluster/redis_6379 #RDB存放的位置
6. Démarrez le service Redis actuelredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
[root@redis-master ~]# netstat -anpt |grep 6379tcp 0 0 192.168.10.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:41400 127.0.0.1:6379 TIME_WAIT - tcp 0 0 192.168.10.1:6379 192.168.10.8:46220 ESTABLISHED 49206/redis-server [root@redis-master ~]#
Modifier la configuration et ajoutez l'élément de sauvegarde
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 500 #在60秒(1分钟)之后,如果至少有500个key发生变化,则dump内存快照
Identique à la modification du fichier de configuration
Ajoutez une annexe et activez la persistance
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: appendonly yes #启用AOF持久化appendfilename "redis.aof" #指定AOF文件名appendfsync everysec #每秒同步一次
redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Ajouter des paires clé-valeur dans la base de données redis
#!/bin/bashfor i in {1..500}do redis-cli set k_$i v_$idone
Lorsque la base de données est fermée à ce moment, les éléments en mémoire seront être perdu normalement, mais il ne sera certainement pas perdu maintenant Oui, et il y aura des fichiers persistants
[root@redis-master ~]# redis-cli shutdown[root@redis-master ~]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf [root@redis-master ~]# [root@redis-master ~]# redis-cli127.0.0.1:6379> keys k_500 1) "v_500"127.0.0.1:6379>
Pourquoi est-ce qu'on besoin de faire une réplication maître-esclave Redis ?
Afin de résoudre le point de défaillance unique, copiez les données sur un ou plusieurs serveurs répliques (serveurs esclaves) pour obtenir une redondance et atteindre l'objectif de récupération des pannes et d'équilibrage de charge
1. Par souci de simplicité, on copie directement le master précédent
[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt
2. Installez redis directement make install
sans recompiler, il l'a déjà fait. été fait dans le maître
Modifier le fichier de configuration
cd /opt/redis_cluster/redis vim /opt/redis_cluster/redis_6379/conf/6379.conf 修改: bind 127.0.0.1 192.168.10.8 slaveof 192.168.10.1 6379 #添加master的ip port保存退出
3. Démarrez le service
redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Remarque :
Pendant le processus de synchronisation, le serveur esclave ne peut copier que les données de la base de données maître , et ne peut pas ajouter et modifier manuellement des données ;
Si le serveur esclave doit modifier les données, il faut déconnecter la synchronisation : [root@redis-slave ~]# redis-cli slaveof no one
invite OK
Si le maître est vers le bas, le serveur esclave peut 手动断开同步
en premier. À ce moment, il est un individu indépendant, d'autres serveurs esclaves peuvent terminer le changement en 指向自己
Cet article est reproduit à partir de : https://blog.csdn net/weixin_43815140/article/details/106128848
Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois! !
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!