


Comment définir correctement les paramètres de configuration de l'environnement de développement et de l'environnement de production mongodb et redis
Lorsque nous écrivons du code, nous le développons généralement d'abord sur notre propre ordinateur, puis déployons le code sur le serveur. Si un morceau de code implique la lecture et l'écriture d'une base de données, ou l'accès à d'autres interfaces de services en ligne, alors pendant le développement, afin de ne pas affecter l'environnement en ligne, nous séparons généralement la base de données dans l'environnement de test et la base de données dans l'environnement en ligne.
Par exemple, notre programme doit accéder à MongoDB et Redis, donc dans le code, nous pourrions écrire comme ceci :
import pymongo import redis handler = pymongo.MongoClient('mongodb://username:password@127.0.0.1:27017').db.col client = redis.Redis(host='127.0.0.1', port=6379, password='xxxx')
Lorsque vous souhaitez déployer le programme dans l'environnement en ligne, vous modifiez manuellement les paramètres de connexion MongoDB et les paramètres de connexion Redis dans le code par les paramètres de l'environnement en ligne. Soumettez ensuite le code à Git, extrayez le dernier code sur le serveur et déployez-le.
Cependant, lorsque vous souhaitez modifier une nouvelle fonction et la tester à nouveau, vous devez modifier ces paramètres de connexion aux paramètres de l'environnement de test et opérer sur votre propre ordinateur. Si vous oubliez de modifier et d'exécuter directement, des données sales peuvent être écrites dans l'environnement en ligne.
Ainsi, quelqu'un peut utiliser des variables d'environnement pour contrôler les paramètres de lecture, par exemple :
import os import redis import pymongo if os.getenv('env', 'prod'): # 线上环境 MONGODB_URI = 'mongodb://username:password@xx.xx.xx.xx:27017' REDIS_PARAMS = {'host': 'xx.xx.xx.xx', 'port': 6379, 'password': 'xxxx'} else: # 测试环境 MONGODB_URI = 'mongodb://username:password@127.0.0.1:27017' REDIS_PARAMS = {'host': '127.0.0.1', 'port': 6379, 'password': 'xxxx'} handler = pymongo.MongoClient(MONGODB_URI).db.col client = redis.Redis(**REDIS_PARAMS)
De cette façon, vous n'avez pas besoin de modifier manuellement les paramètres de connexion de la base de données. Tant que vous définissez les variables d'environnement de l'environnement en ligne env
设置为prod
,那么程序部署到线上环境,它自动就会使用线上数据库的参数。只要 其他地方,例如你电脑上,环境变量env
不为prod
ou n'existent tout simplement pas, les paramètres de l'environnement de développement seront automatiquement utilisés.
Cela évite les problèmes causés par l'oubli de modifier les paramètres, mais il y a un autre problème : si d'autres personnes ont également accès à cette source Git, alors elles sauront comment se connecter à la base de données dans l'environnement en ligne. Ils manipulent même les données dans l’environnement en ligne sans autorisation, entraînant des risques de sécurité ou des fuites de confidentialité.
Pour plus de sécurité, vous pouvez utiliser un fichier spécial pour stocker les paramètres de configuration, et le programme lit les paramètres du fichier. Ce fichier pour l'environnement en ligne contient des paramètres en ligne, et pour l'environnement de développement, ce fichier contient des paramètres de développement. Ce fichier de configuration n'est pas téléchargé sur Git.
Par exemple, nous créons un fichier config.json avec le contenu :
{ "MONGODB_URI": "mongodb://username:password@127.0.0.1:27017", "REDIS_PARAMS": {"host": "127.0.0.1", "port": 6379, "password": "xxxx"} }
Ensuite notre code est modifié comme ceci :
import os import json import redis import pymongo CONFIG_PATH = '/etc/config/config.json' if not os.path.exists(CONFIG_PATH): print('配置文件不存在,自动使用测试环境参数!') MONGODB_URI = 'mongodb://username:password@127.0.0.1:27017' REDIS_PARAMS = {'host': '127.0.0.1', 'port': 6379, 'password': 'xxxx'} else: with open(CONFIG_PATH, encoding='utf-8') as f: config = json.load(f) MONGODB_URI = config['MONGODB_URI'] REDIS_PARAMS = config["REDIS_PARAMS"] handler = pymongo.MongoClient(MONGODB_URI).db.col client = redis.Redis(**REDIS_PARAMS)
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Sur CentOS Systems, vous pouvez limiter le temps d'exécution des scripts LUA en modifiant les fichiers de configuration Redis ou en utilisant des commandes Redis pour empêcher les scripts malveillants de consommer trop de ressources. Méthode 1: Modifiez le fichier de configuration Redis et localisez le fichier de configuration Redis: le fichier de configuration redis est généralement situé dans /etc/redis/redis.conf. Edit Fichier de configuration: Ouvrez le fichier de configuration à l'aide d'un éditeur de texte (tel que VI ou NANO): Sudovi / etc / redis / redis.conf Définissez le délai d'exécution du script LUA: Ajouter ou modifier les lignes suivantes dans le fichier de configuration pour définir le temps d'exécution maximal du script LUA (unité: millisecondes)

Pour améliorer les performances de la base de données PostgreSQL dans Debian Systems, il est nécessaire de considérer de manière approfondie le matériel, la configuration, l'indexation, la requête et d'autres aspects. Les stratégies suivantes peuvent optimiser efficacement les performances de la base de données: 1. Extension de mémoire d'optimisation des ressources matérielles: la mémoire adéquate est cruciale pour cacher les données et les index. Stockage à grande vitesse: l'utilisation de disques SSD SSD peut considérablement améliorer les performances d'E / S. Processeur multi-core: utilisez pleinement les processeurs multi-core pour implémenter le traitement des requêtes parallèles. 2. Paramètre de base de données Tuning Shared_Buffers: Selon le réglage de la taille de la mémoire du système, il est recommandé de le définir à 25% -40% de la mémoire système. work_mem: contrôle la mémoire des opérations de tri et de hachage, généralement définies sur 64 Mo à 256m

Explication détaillée de la stratégie de sauvegarde efficace de MongoDB dans le cadre du système CentOS Cet article introduira en détail les différentes stratégies de mise en œuvre de sauvegarde MongoDB sur le système CentOS pour assurer la sécurité des données et la continuité des activités. Nous couvrirons les sauvegardes manuelles, les sauvegardes chronométrées, les sauvegardes de scripts automatisées et les méthodes de sauvegarde dans des environnements de conteneurs Docker, et offrir les meilleures pratiques pour la gestion des fichiers de sauvegarde. Sauvegarde manuelle: utilisez la commande mongodump pour effectuer une sauvegarde complète manuelle, par exemple: mongodump-hlocalhost: 27017-u username-p mot de passe-d database name-o / backup Directory Cette commande exportera les données et les métadonnées de la base de données spécifiée vers le répertoire de sauvegarde spécifié.

Le chiffrement de la base de données MongoDB sur un système Debian nécessite de suivre les étapes suivantes: Étape 1: Installez d'abord MongoDB, assurez-vous que votre système Debian a installé MongoDB. Sinon, veuillez vous référer au document officiel MongoDB pour l'installation: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/step 2: générer le fichier de clé de cryptage Créer un fichier contenant la clé de chiffrement et définir les permissions correctes: ddif = / dev / urandof = / etc / mongodb-keyfilebs = 512

Téléchargez le package de code source à partir de la source Redis officielle pour le compiler et l'installer pour assurer la version la plus récente et stable et peut être personnalisée de manière personnalisée. Les étapes spécifiques sont les suivantes: Mettez à jour la liste des packages logiciels et créez le répertoire redis Télécharger Reded Code source Package Décompressez le package de code source et compilez la configuration d'installation et modifiez la configuration redis pour démarrer Redis vérifiez l'état de démarrage

Dans Debian Systems, les appels du système ReadDir sont utilisés pour lire le contenu des répertoires. Si ses performances ne sont pas bonnes, essayez la stratégie d'optimisation suivante: simplifiez le nombre de fichiers d'annuaire: divisez les grands répertoires en plusieurs petits répertoires autant que possible, en réduisant le nombre d'éléments traités par appel ReadDir. Activer la mise en cache de contenu du répertoire: construire un mécanisme de cache, mettre à jour le cache régulièrement ou lorsque le contenu du répertoire change et réduire les appels fréquents à Readdir. Les caches de mémoire (telles que Memcached ou Redis) ou les caches locales (telles que les fichiers ou les bases de données) peuvent être prises en compte. Adoptez une structure de données efficace: si vous implémentez vous-même la traversée du répertoire, sélectionnez des structures de données plus efficaces (telles que les tables de hachage au lieu de la recherche linéaire) pour stocker et accéder aux informations du répertoire

L'indice de tri est un type d'index MongoDB qui permet de tri les documents dans une collection par champs spécifiques. La création d'un indice de tri vous permet de trier rapidement les résultats de la requête sans opérations de tri supplémentaires. Les avantages incluent le tri rapide, les requêtes de remplacement et le tri à la demande. La syntaxe est db.collection.CreateIndex ({champ: & lt; tri Ordre & gt;}), où & lt; tri, Ordre & gt; est 1 (ordre ascendant) ou -1 (ordre décroissant). Vous pouvez également créer des index de tri à plusieurs champs qui trient plusieurs champs.

Activez les journaux de requête lents redis sur le système CentOS pour améliorer l'efficacité du diagnostic des performances. Les étapes suivantes vous guideront à travers la configuration: Étape 1: Localisez et modifiez d'abord le fichier de configuration Redis, recherchez le fichier de configuration Redis, généralement situé dans /etc/redis/redis.conf. Ouvrez le fichier de configuration avec la commande suivante: sudovi / etc / redis / redis.conf Étape 2: Ajustez les paramètres de journal de requête lente dans le fichier de configuration, recherchez et modifiez les paramètres suivants: #Slow Query Seuil (MS) Slowlog-Log-slower-Len
