Registro de consultas lentas de Redis:
vim /etc/redis.conf
slowlog-log-slow-than-10000
Redis también tiene un registro de consultas lento similar a MySQL. Este parámetro define que un tiempo de ejecución de la consulta superior a 10000 microsegundos se registrará en el registro. Entre ellos, 1 segundo = 1,000,000 microsegundos.
slowlog-max-len 128
Este parámetro define el número máximo de registros de consultas lentas. De hecho, el registro lento de Redis también se almacena en la memoria, que también es una forma de datos k / v.
suplemento:
slowlog get // Lista todos los registros de consultas lentas
slowlog get 2 // Solo lista 2
slowlog len // Ver el número de registros de consultas lentas
Use Redis en PHP (instalado en el documento anterior sin instalar php)
php instalar el módulo de extensión redis-instalar usando pecl
/ usr / local / php-fpm / bin / pecl instalar redis
报错 : No se puede encontrar autoconf. Verifique su instalación de autoconf y la variable de entorno $ PHP_AUTOCONF. Luego, vuelva a ejecutar este script.
ERROR: 'phpize' falló
Solución: yum -y install m4 autoconf
Vuelva a instalar usando pecl:
/ usr / local / php-fpm / bin / pecl instalar redis
vim /usr/local/php/etc/php.ini // Agregue la extensión = redis.so en la última línea
Compruebe si hay un módulo redis
/ usr / local / php-fpm / bin / php -m
Instalar desde el código fuente
wget http://pecl.php.net/get/redis-5.3.2.tgz
tar -xzvf redis-5.3.2.tgz
cd redis-5.3.2
/ usr / local / php-fpm / bin / phpize
./configure --with-php-config = / usr / local / php-fpm / bin / php-config
hacer && hacer instalar
vi /usr/local/php/etc/php.ini // Agregar extensión = redis.so
Utilice ** redis -storage ** sesión ** en php **
vim /usr/local/php-fpm/etc/php.ini
; session.save_handler = archivos
Agregue dos líneas a continuación
session.save_handler = "redis"
session.save_path = "tcp: //127.0.0.1: 6379"
O se puede configurar así en el archivo de configuración del host virtual apache:
php_value session.save_handler "redis"
php_value session.save_path "tcp: //127.0.0.1: 6379"
O agregue al grupo correspondiente al archivo de configuración php-fpm:
php_value [session.save_handler] = redis
php_value [session.save_path] = "tcp: //127.0.0.1: 6379"
Crear archivo de prueba
wget http://study.lishiming.net/.mem_se.txt
mv .mem_se.txt session.php
Prueba: / usr / local / php-fpm / bin / php session.php
Configuración maestro-esclavo de Redis
A través de la función de persistencia, Redis garantiza que los datos no se perderán (o una pequeña cantidad de pérdida) incluso cuando se reinicia el servidor. Sin embargo, dado que los datos se almacenan en un servidor, si el servidor falla, como el disco duro roto, también puede causar pérdida de datos.
Para evitar un solo punto de falla, necesitamos implementar múltiples copias de datos en múltiples servidores diferentes. Incluso si un servidor falla, otros servidores pueden continuar brindando servicios.
Esto requiere que cuando se actualizan los datos en un servidor, los datos actualizados se sincronizan automáticamente con otros servidores. En este momento, se utiliza la replicación maestro-esclavo de Redis.
Dos linux:
Redis principal: 192.168.111.136
Desde redis: 192.168.111.140
Contraseña principal de redis establecida:
vim /etc/redis.conf
requirepass admin123
solo si
enlazar 127.0.0.1 192.168.111.136
Modificar la configuración de redis
vim /etc/redis.conf
# réplica de <masterip> <masterport>
réplica de 192.168.111.136 6379
# masterauth <contraseña-maestra>
masterauth admin123
enlazar 127.0.0.1 192.168.111.140
Reinicie el servicio redis maestro-esclavo
systemctl reiniciar redis
Prueba: el redis maestro crea una clave para ver si el redis esclavo se muestra sincrónicamente
Redis principales:
[root @ jinkai redis-6.0.6] # redis-cli
127.0.0.1:6379> auth admin123
OK
127.0.0.1:6379> replicación de información
# Replicación
papel: maestro
esclavos_conectados: 1
esclavo0: ip = 192.168.111.140, puerto = 6379, estado = en línea, desplazamiento = 294, retraso = 0
master_replid: a678d12ebaea9481bc9d322ef9b9fcc8330a2c3d
master_replid2: 0000000000000000000000000000000000000000
master_repl_offset: 294
second_repl_offset: -1
repl_backlog_active: 1
repl_backlog_size: 1048576
repl_backlog_first_byte_offset: 1
repl_backlog_histlen: 294
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> establecer km1 vm1
OK
127.0.0.1:6379> obtener km1
"vm1"
Desde redis:
[root @ jinkai redis-6.0.6] # redis-cli -a admin123
Advertencia: Es posible que usar una contraseña con la opción '-a' o '-u' en la interfaz de línea de comandos no sea seguro.
Advertencia: AUTH falló
127.0.0.1:6379> replicación de información
# Replicación
papel: esclavo
master_host: 192.168.111.136
master_port: 6379
master_link_status: arriba
master_last_io_seconds_ago: 3
master_sync_in_progress: 0
Slave_repl_offset: 350
prioridad_esclavo: 100
slave_read_only: 1
esclavos_conectados: 0
master_replid: a678d12ebaea9481bc9d322ef9b9fcc8330a2c3d
master_replid2: 0000000000000000000000000000000000000000
master_repl_offset: 350
second_repl_offset: -1
repl_backlog_active: 1
repl_backlog_size: 1048576
repl_backlog_first_byte_offset: 99
repl_backlog_histlen: 252
127.0.0.1:6379> obtener km1
"vm1"
La réplica predeterminada de solo lectura es sí para escribir datos en esclavos redis, si es no, puede escribir datos en esclavos
127.0.0.1:6379> establecer ks1 vs1
(error) READONLY No puede escribir en una réplica de solo lectura.