Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo aumentar el rendimiento de una instancia de Azure Database for MySQL: servidor flexible mediante Azure Cache for Redis. Azure Cache for Redis es un agente de mensajería y caché de datos segura que proporciona a las aplicaciones un acceso de alto rendimiento y baja latencia a los datos.
Requisitos previos
Para esta guía de inicio rápido, necesitará lo siguiente:
- Una cuenta de Azure con una suscripción activa.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar. Actualmente, con una cuenta gratuita de Azure, puede probar el Servidor flexible de Azure Database for MySQL gratis durante 12 meses. Para más información, consulte Uso de una cuenta gratuita de Azure para probar Azure Database for MySQL: servidor flexible de forma gratuita.
- Creación de una instancia de servidor flexible de Azure Database for MySQL mediante Inicio rápido: Creación de una instancia de Azure Database for MySQL con Azure Portal
o Inicio rápido: Creación de una instancia del Servidor flexible de Azure Database for MySQL mediante la CLI de Azure. - Establezca la configuración de red de la instancia de Azure Database for MySQL: servidor flexible para asegurarse de que la dirección IP tiene acceso a ella. Si usa Azure App Service o el servicio Azure Kubernetes, habilite la configuración Permitir el acceso público desde cualquier servicio de Azure dentro de Azure a este servidor en Azure Portal.
¿Tiene problemas? Háganoslo saber
Rellenar la base de datos MySQL
Conéctese a Azure Database for MySQL: servidor flexible mediante MySQL Workbench y ejecute la siguiente consulta para rellenar la base de datos.
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);
Creación de caché de Redis
En Azure Portal, busque y seleccione Azure Cache for Redis.
En la página Azure Cache for Redis , seleccione Crear>Azure Cache for Redis.
En la pestaña Aspectos básicos de la página Nueva caché de Redis , configure los valores siguientes:
- Suscripción: seleccione la suscripción que vaya a usar.
- Grupo de recursos: seleccione un grupo de recursos o seleccione Crear nuevo y escriba un nuevo nombre de grupo de recursos. Colocar todos los recursos de la aplicación en el mismo grupo de recursos le permite administrarlos o eliminarlos fácilmente.
- Nombre: escriba un nombre de caché que sea único en la región. El nombre debe:
- Ser una cadena de 1 a 63 caracteres.
- Solo contienen números, letras y guiones.
- Comience y termine con un número o letra.
- No contienen guiones consecutivos.
- Región: seleccione una región de Azure cerca de otros servicios que usen la memoria caché.
- SKU de caché: seleccione una SKU para determinar los tamaños, el rendimiento y las características disponibles de la memoria caché.
- Tamaño de caché: seleccione un tamaño de caché. Para más información, consulte la introducción a Azure Cache for Redis.
Seleccione la pestaña Redes o seleccione Siguiente: Redes.
En la pestaña Redes, seleccione un método de conectividad que se usará para la memoria caché. Se recomienda un punto de conexión privado para la seguridad. Si selecciona Punto de conexión privado, seleccione Agregar punto de conexión privado y cree el punto de conexión privado.
Seleccione la pestaña Avanzadas o seleccione Siguiente: Avanzadas.
En el panel Opciones avanzadas , configure las siguientes opciones:
- Seleccione Autenticación de Microsoft Entra o Autenticación de claves de acceso. La autenticación de Microsoft Entra está habilitada de forma predeterminada.
- Elija si habilitar el puerto que no es TLS.
- Para una caché Premium, puede configurar o deshabilitar zonas de disponibilidad. No puede deshabilitar las zonas de disponibilidad una vez creada la caché. En el caso de una caché estándar, las zonas de disponibilidad se asignan automáticamente. Las zonas de disponibilidad no están disponibles para la SKU básica.
- Para una caché Premium, configure los valores de Recuento de réplicas, Agrupación en clústeres y recuento de particiones, identidad administrada asignada por el sistema y Persistencia de datos.
En la imagen siguiente se muestra la pestaña Avanzadas de la SKU estándar.
Importante
Use Microsoft Entra ID con identidades administradas para autorizar solicitudes en la memoria caché si es posible. La autorización con el identificador y la identidad administrada de Microsoft Entra proporcionan una mejor seguridad y es más fácil de usar que la autorización de clave de acceso compartido. Para más información sobre el uso de identidades administradas con la memoria caché, consulte Uso de Microsoft Entra ID para la autenticación de caché.
Opcionalmente, seleccione la pestaña Etiquetas o seleccione Siguiente: Etiquetas y escriba los nombres de etiqueta y los valores para clasificar los recursos de caché.
Seleccione Revisar y crear y, una vez superada la validación, seleccione Crear.
La nueva implementación de caché tarda varios minutos. Puede supervisar el progreso de la implementación en la página Azure Cache for Redis del portal. Cuando el estado de la caché muestra En ejecución, la memoria caché está lista para usarse.
Uso de Redis con Python
Instale la versión más reciente de Python en el entorno local o en la máquina virtual de Azure o Azure App Service. Use pip para instalar redis-py.
pip install redis
El código siguiente crea una conexión a la instancia de Azure Cache for Redis mediante redis-py, almacena el resultado de la consulta en Azure Cache for Redis y captura el valor de la caché.
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()
Uso de Redis con PHP
Instalae PHP en el entorno local. Siga los pasos que se indican a continuación para escribir un script PHP que almacene en caché una consulta SQL de la base de datos de Azure Database for MySQL: servidor flexible. Estos son algunos requisitos previos antes de ejecutar el script:
- Instale y habilite la extensión PECL de Redis para usar Azure Cache for Redis con el script PHP. Vea cómo instalar la extensión localmente
- Instalación y habilitación de la extensión PDO de 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);
Uso de Redis con WordPress
La ventaja de habilitar la instancia de Azure Cache for Redis en su aplicación de WordPress es que le permitirá entregar contenido más rápido, ya que todo el contenido de WordPress se almacena en la base de datos. Puede almacenar en caché el contenido que es principalmente de solo lectura de la base de datos de WordPress para que las búsquedas de consultas sean más rápidas. Puede usar cualquiera de estos complementos para configurar Redis. Instale y habilite la extensión PECL de Redis. Vea cómo instalar la extensión localmente o cómo instalar la extensión en Azure App Service.
Instale la caché de objetos de Redis y active este complemento en nuestra aplicación de WordPress. Ahora, actualice el archivo wp-config.php
justo encima de la instrucción /. Eso es todo, ha terminado con la edición. Ya puede crear blogs. /*
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. */
Vaya al panel de administración de Wordpress y seleccione la página de configuración de Redis en el menú. Ahora seleccione Habilitar caché de objetos. El complemento leerá la información de la instancia de Azure Cache for Redis del archivo wp-config.php
.
También puede usar la caché total de W3 para configurar Azure Cache for Redis en la aplicación de WordPress. Puede evaluar las mejoras de rendimiento mediante el complemento Monitor de consultas, que le permite depurar consultas de base de datos y también muestra el total de consultas de base de datos agrupadas por un complemento.