Redis slow log y configuración de replicación maestro-esclavo de redis

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.

Supongo que te gusta

Origin blog.51cto.com/11451960/2640782
Recomendado
Clasificación