Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment améliorer les performances d’une instance de serveur flexible Azure Database pour MySQL avec Azure Cache pour Redis. Azure Cache pour Redis est un cache de données sécurisé et un répartiteur de messagerie qui permet aux applications d’accéder aux données en bénéficiant d’un débit élevé et d’une faible latence.
Prérequis
Voici les prérequis pour ce guide de démarrage rapide :
- Compte Azure avec un abonnement actif.
Si vous n’en avez pas, créez un compte gratuit Azure avant de commencer. Actuellement, avec un compte gratuit Azure, vous pouvez essayer gratuitement Azure Database pour MySQL – Serveur flexible pendant 12 mois. Pour plus d’informations, consultez Utilisez un compte gratuit Azure pour essayer gratuitement le serveur flexible Azure Database pour MySQL.
- Créer une instance de serveur flexible Azure Database pour MySQL à l’aide de Démarrage rapide : créer une instance d’Azure Database pour MySQL avec le portail Azure
ou Démarrage rapide : Créer une instance d’Azure Database pour MySQL - Serveur flexible à l’aide d’Azure CLI si vous n’en avez pas. - Configurez le paramètre réseau de l’instance de serveur flexible Azure Database pour MySQL pour vous assurer que votre IP y a accès. Si vous utilisez Azure App Service ou le service Azure Kubernetes, activez Autoriser l’accès public de n’importe quel service Azure à ce paramètre de serveur dans le Portail Azure.
Vous rencontrez des problèmes ? Faites-le nous savoir.
Remplir la base de données MySQL
Connectez-vous à Utiliser MySQL Workbench avec Azure Database pour MySQL : serveur flexible et exécutez la requête suivante pour remplir la base de données.
CREATE DATABASE tododb;
CREATE TABLE tasks
(
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
title nvarchar(100) NOT NULL,
completed TINYINT(1) NOT NULL
);
INSERT INTO tasks (id,title, completed) VALUES
(1,'Task1', 0),
(2,'Task2', 0),
(3,'Task3', 1),
(4,'Task4', 1),
(5,'Task5', 0);
Créer un cache Redis
Dans le portail Azure, recherchez et sélectionnez Cache Azure pour Redis.
Dans la page Cache Azure pour Redis , sélectionnez Créer un>cache Azure pour Redis.
Sous l’onglet Informations de base de la page Nouveau cache Redis , configurez les paramètres suivants :
- Abonnement : sélectionnez l'abonnement souhaité.
- Groupe de ressources : sélectionnez un groupe de ressources, ou sélectionnez Créer et entrez un nouveau nom de groupe de ressources. La mise en place de toutes vos ressources d’application dans le même groupe de ressources vous permet de les gérer ou de les supprimer facilement ensemble.
- Nom : entrez un nom de cache unique dans la région. Le nom doit :
- Doit être une chaîne de 1 à 63 caractères.
- Contiennent uniquement des chiffres, des lettres et des traits d’union.
- Commencez et terminez par un nombre ou une lettre.
- Ne pas contenir des traits d’union consécutifs.
- Région : sélectionnez une région Azure près d’autres services qui utilisent votre cache.
- Référence SKU du cache : sélectionnez une référence SKU pour déterminer les tailles disponibles, les performances et les fonctionnalités de votre cache.
- Taille du cache : sélectionnez une taille de cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis.
Sélectionnez l’onglet Mise en réseau , ou sélectionnez Suivant : Mise en réseau.
Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache. Le point de terminaison privé est recommandé pour la sécurité. Si vous sélectionnez Point de terminaison privé, sélectionnez Ajouter un point de terminaison privé et créez le point de terminaison privé.
Sélectionnez l’onglet Avancé , ou sélectionnez Suivant : Avancé.
Dans le volet Avancé , configurez les options suivantes :
- Sélectionnez Authentification Microsoft Entra ou Authentification par clés d’accès. L’authentification Microsoft Entra est activée par défaut.
- Choisissez s’il faut activer le port non TLS.
- Pour un cache Premium, vous pouvez configurer ou désactiver des zones de disponibilité. Vous ne pouvez pas désactiver les zones de disponibilité une fois le cache créé. Pour un cache Standard, les zones de disponibilité sont allouées automatiquement. Les zones de disponibilité ne sont pas disponibles pour la référence SKU de base.
- Pour un cache Premium, configurez les paramètres pour le nombre de réplicas, le clustering et le nombre de partitions, l’identité managée affectée par le système et la persistance des données.
L’image suivante montre l’onglet Avancé pour la référence SKU Standard.
Important
Utilisez l’ID Microsoft Entra avec des identités managées pour autoriser les demandes sur votre cache si possible. L’autorisation utilisant l’ID Microsoft Entra et l’identité managée offre une meilleure sécurité et est plus facile à utiliser que l’autorisation de clé d’accès partagé. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser Microsoft Entra ID pour l’authentification du cache.
Si vous le souhaitez, sélectionnez l’onglet Balises ou sélectionnez Suivant : Balises, puis entrez les noms et les valeurs des balises pour catégoriser vos ressources de cache.
Sélectionnez Vérifier + créer, puis une fois la validation réussie, sélectionnez Créer.
Le nouveau déploiement de cache prend plusieurs minutes. Vous pouvez surveiller la progression du déploiement sur la page Azure Cache pour Redis du portail. Lorsque l’état du cache s’affiche en cours d’exécution, le cache est prêt à être utilisé.
Utiliser Redis avec Python
Installez la dernière version de Python sur votre environnement local ou sur une machine virtuelle Azure ou Azure App Service. Utilisez pip pour installer redis-py.
pip install redis
Le code suivant crée une connexion à l’instance Azure Cache pour Redis à l’aide de redis-py, stocke le résultat de la requête dans Azure Cache pour Redis et extrait la valeur du cache.
import redis
import mysql.connector
r = redis.Redis(
host='your-azure-redis-instance-name.redis.cache.windows.net',
port=6379,
password='azure-redis-primary-access-key')
mysqlcnx = mysql.connector.connect(user='your-admin-username', password='<password>',
host='database-servername.mysql.database.azure.com',
database='your-databsae-name')
mycursor = mysqlcnx.cursor()
mycursor.execute("SELECT * FROM tasks where completed=1")
myresult = mycursor.fetchall()
#Set the result of query in a key
if result:
cache.hmset(mykey, myresult)
cache.expire(mykey, 3600)
return result
#Get value of mykey
getkeyvalue= cache.hgetall(mykey)
#close mysql connection
mysqlcnx.close()
Utiliser Redis avec PHP
Installer PHP dans votre environnement local. Suivez les étapes ci-dessous pour écrire un script PHP qui met en cache une requête SQL à partir d’une base de données de serveur flexible Azure Database pour MySQL. Voici quelques prérequis avant d’exécuter le script :
- Installez et activez l’extension Redis PECL pour utiliser Azure Cache pour Redis avec votre script PHP. Découvrez comment installer l’extension localement
- Installer et activer l’extension PDO MySQL
<?php
$redis = new Redis();
$redis->connect('azure-redis-instance-ame.redis.cache.windows.net', 6379);
$redis->auth('azure-redis-primary-access-key');
$key = 'tasks';
if (!$redis->get($key)) {
/*Pulling data from MySQL database*/
$database_name = 'database-name';
$database_user = 'your-database-user';
$database_password = 'your-database-password';
$mysql_host = 'database-servername.mysql.database.azure.com';
$pdo = new PDO('mysql:host=' . $mysql_host . '; dbname=' . $database_name, $database_user, $database_password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM tasks";
$stmt = $pdo->prepare($sql);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$tasks[] = $row;
}
$redis->set($key, serialize($tasks));
$redis->expire($key, 10);
} else {
/*Pulling data from Azure Cache for Redis*/
$tasks = unserialize($redis->get($key));
}
echo $source . ': <br>';
print_r($tasks);
Utiliser Redis avec WordPress
L’avantage d’activer Azure Cache pour Redis sur votre application WordPress vous permettra de fournir du contenu plus rapidement, car tout le contenu WordPress est stocké dans la base de données. Vous pouvez mettre en cache du contenu qui est principalement lu uniquement à partir d’une base de données WordPress pour accélérer les recherches de requête. Vous pouvez utiliser l’un de ces plug-ins pour configurer Redis. Installez et activez l’extension Redis PECL. Découvrez comment installer l’extension localement ou comment installer l’extension dans Azure App Service.
Installez le cache d’objets Redis et activez ce plug-in sur notre application WordPress. Maintenant, mettez à jour le fichier wp-config.php
juste au-dessus de l’instruction / C’est fini, vous pouvez arrêter de modifier ! Joyeux blogging. /*
define( 'WP_REDIS_HOST', 'azure-redis-servername.redis.cache.windows.net' );
define( 'WP_REDIS_PORT', 6379 );
define( 'WP_REDIS_PASSWORD', 'azure-redis-primary-access-key' );
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );
// change the database for each site to avoid cache collisions
// values 0-15 are valid in a default redis config.
define( 'WP_REDIS_DATABASE', 0 );
// automatically delete cache keys after 7 days
define( 'WP_REDIS_MAXTTL', 60 * 60 * 24 * 7 );
// bypass the object cache, useful for debugging
// define( 'WP_REDIS_DISABLED', true );
/* That's all, stop editing! Happy blogging. */
Accédez au tableau de bord d’administration Wordpress et sélectionnez la page paramètres Redis dans le menu. Maintenant, sélectionnez Activer le cache d’objets. Le plug-in lit les informations d’instance Azure Cache pour Redis à partir du fichierwp-config.php
.
Vous pouvez également utiliser le cache W3 Total pour configurer Azure Cache pour Redis sur votre application WordPress. Vous pouvez évaluer les améliorations des performances à l’aide du plug-in Analyse de requête qui vous permet de déboguer des requêtes de base de données et qui affiche également le nombre total de requêtes de base de données regroupées par un plug-in.