Configuración e introducción de Redis

1. Descripción general de redis

Redis (Remote Dictionary Server, servicio de diccionario remoto) es una base de datos no relacional ( NoSQL ). Es un sistema de almacenamiento de clave-valor de código abierto escrito en lenguaje C (diferente del almacenamiento de tablas bidimensionales de MySQL)

Redis escribirá periódicamente datos actualizados en el disco o escribirá operaciones de modificación en archivos de registro adicionales para lograr la persistencia de los datos.

Dirección del sitio web oficial de Redis:

https://redis.io/

Sitio web chino
http://www.redis.cn/

Redis tiene las siguientes características:

  • Alto rendimiento de lectura y escritura: la velocidad de lectura de Redis es 110000 veces / s, la velocidad de escritura es 81000 veces / s
  • Atomicidad: todas las operaciones de Redis son atómicas. Al mismo tiempo, Redis también admite la ejecución atómica de varias operaciones.
  • Admite múltiples estructuras de datos: cadena (cadena); lista (lista); hash (hash), conjunto (colección); zset (colección ordenada)
  • Estabilidad: estructura maestro-esclavo
  • Asuntos de soporte
  • Tiempo de vencimiento del soporte
  • Suscripción de noticias de soporte

2. Configurar redis

2.1 Descargue el paquete de instalación de redis y descomprímalo

# 下载安装包
cd /export/softwares
wget http://download.redis.io/releases/redis-3.2.8.tar.gz

# 解压
cd /export/softwares
tar -zxvf redis-3.2.8.tar.gz -C ../servers/

2.2 Instalar el entorno operativo del programa C

yum -y install gcc-c++

2.3 Instalar tcl

Tcl (lenguaje de comandos de herramientas) es un lenguaje de scripting simple , utilizado principalmente para emitir comandos a algunos programas interactivos como editores de texto , depuradores y shells . Tiene una sintaxis simple y una gran extensibilidad. Tcl puede crear nuevos procedimientos para mejorar sus capacidades de comando integradas.

En segundo lugar, Tcl es un paquete de biblioteca que se puede incrustar en aplicaciones . La biblioteca de Tcl contiene un analizador , rutinas para ejecutar comandos integrados y funciones de biblioteca que le permiten expandir (definir nuevos procedimientos) . El programa de aplicación puede generar y ejecutar comandos Tcl . Los comandos pueden ser generados por el usuario o leerlos desde una entrada en la interfaz de usuario (botón o menú, etc.). Pero después de recibir el comando, la biblioteca Tcl lo descompone y ejecuta los comandos integrados, que a menudo producen llamadas recursivas.

yum  -y  install  tcl

2.4 Editar redis

# 编译
make MALLOC=libc 或 make
# 测试编译是否完成
make test 或者 make install

2.5 Modificar el archivo de configuración

Primero cree las carpetas de registros y redisdata

cd /export/servers/redis-3.2.8/
mkdir -p /export/servers/redis-3.2.8/logs
mkdir -p /export/servers/redis-3.2.8/redisdata
# 修改redis.conf
vim redis.conf

Necesito modificar estos lugares

bind hadoop1
# 后台服务运行
daemonize yes
pidfile /var/run/redis_6379.pid
# 日志文件路径
logfile "/export/servers/redis-3.2.8/logs/redis.log"
# 数据存放
dir /export/servers/redis-3.2.8/redisdata


2.5.1 Implementación de la arquitectura de replicación maestro-esclavo
# 在配置hadoop2和hadoop3时还需要加下面这条指令
slaveof hadoop1 6379
2.4.2 Implementar la arquitectura Sentinel

Sentinel (Sentinel) es una solución de alta disponibilidad para Redis: el sistema Sentinel que consta de una o más instancias de Sentinel puede monitorear cualquier cantidad de servidores maestros, así como todos los servidores esclavos bajo estos servidores maestros, e ingresar al servidor maestro monitoreado cuando está fuera de línea , un servidor esclavo bajo el servidor maestro fuera de línea se actualiza automáticamente a un nuevo servidor maestro.

El mecanismo específico se muestra en la siguiente figura:

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Modificar sentinel.confarchivo

bind hadoop1
# 后台服务运行
daemonize yes
# 修改三台机器监控的主节点,hadoop1是主节点,有两台主机监控
sentinel monitor mymaster hadoop1 6379 2

2.6 Iniciar redis

cd  /export/servers/redis-3.2.8/
src/redis-server redis.conf

No hay ningún recordatorio cuando se inicia redis, puede usarlo para ps -ef | grep redisverificar si está iniciado

Inserte la descripción de la imagen aquí

2.7 Conectarse a redis

src/redis-cli -h hadoop1

Inserte la descripción de la imagen aquí

3. Persistencia de redis

La persistencia de Redis consiste en guardar datos de la memoria en el disco. La persistencia en redis se divide en RDB y AOF .

3.1 método de persistencia RDB

Redis habilita instantáneas RDB de forma predeterminada y guarda datos en un archivo rbd periódicamente. También puede activar instantáneas RDB para guardarlas manualmente a través de sava o bgsave (recomendado)

  • SAVE llama directamente a rdbSave para bloquear el proceso principal de Redis hasta que se complete el guardado. Durante el bloqueo del proceso principal, el servidor no puede procesar ninguna solicitud del cliente.

  • BGSAVE bifurca un proceso hijo , y el proceso hijo es responsable de llamar a rdbSave y envía una señal al proceso principal después de que se completa el guardado, notificando que se ha completado el guardado. El servidor de Redis puede continuar procesando las solicitudes de los clientes durante la ejecución de BGSAVE .

Ventajas de la solución RDB
  1. Impacto mínimo en el rendimiento. Redis bifurca los procesos secundarios al guardar instantáneas de RDB, lo que apenas afecta la eficiencia del procesamiento de las solicitudes de los clientes de Redis.

  2. Cada instantánea generará un archivo de instantánea de datos completo, por lo que puede complementarse con otros medios para guardar instantáneas en varios puntos en el tiempo (por ejemplo, hacer una copia de seguridad de la instantánea a las 0 en punto todos los días en otros medios de almacenamiento) como un desastre muy confiable método de recuperación.

  3. La recuperación de datos con archivos RDB es mucho más rápida que con AOF

Desventajas de la solución RDB
  1. Las instantáneas se generan con regularidad, por lo que algunos datos se perderán en caso de fallas de Redis.

  2. Si el conjunto de datos es muy grande y la CPU no es lo suficientemente fuerte (como una CPU de un solo núcleo), Redis puede consumir un tiempo relativamente largo cuando se bifurcan procesos secundarios, lo que afecta la capacidad de Redis para proporcionar servicios externos.

La configuración original en redis se muestra en la figura a continuación, puede modificarla usted mismo

Inserte la descripción de la imagen aquí

Debe reiniciar el servicio redis después de modificar la configuración

# 查看redis进程
ps -ef | grep redis
# kill进程

# 启动redis
cd  /export/servers/redis-3.2.8/
src/redis-server redis.conf

3.2 Método de persistencia AOF

Al usar la persistencia AOF, Redis registrará cada solicitud de escritura en un archivo de registro. Cuando se reinicia Redis, todas las operaciones de escritura registradas en el archivo AOF se ejecutarán secuencialmente para garantizar que los datos se restauren a la última versión.

AOF tiene tres configuraciones fsync: always / everysec / no

  • siempre: Realice una operación fsync cada vez que se escriba un registro, con la mayor seguridad de datos.
  • everysec: fsync una vez cada segundo
  • no: no realice la operación fsync, deje que el sistema operativo se descargue automáticamente
Ventajas de AOF:
  1. Lo más seguro, cuando appendfsync siempre está habilitado, los datos que se han escrito no se perderán, y cuando appendfsync everysec está habilitado, solo se perderá 1 segundo de datos.

  2. El archivo AOF no se dañará en caso de un corte de energía. Incluso si un registro está escrito a medias, se puede reparar fácilmente con la herramienta redis-check-aof.

  3. El archivo AOF es fácil de leer y se puede modificar. Después de algunas operaciones de eliminación de datos incorrectas, siempre que el archivo AOF no se vuelva a escribir, puede hacer una copia de seguridad del archivo AOF, eliminar el comando incorrecto y luego restaurar los datos.

Desventajas de AOF:
  1. Los archivos AOF suelen ser más grandes que los archivos RDB

  2. El consumo de rendimiento es superior al RDB

  3. La velocidad de recuperación de datos es más lenta que RDB

En redis, AOF está desactivado de forma predeterminada. La configuración se muestra en la figura siguiente y se puede cambiar
Inserte la descripción de la imagen aquí

Para evitar que el archivo AOF sea demasiado grande y haga que el tiempo de recuperación sea demasiado largo, redis proporciona la función de reescritura AOF, que puede reescribir el archivo AOF, y solo retiene el conjunto mínimo de operaciones de escritura que pueden restaurar los datos a la última versión. Expresar.

La reescritura de AOF se puede activar mediante el comando BGREWRITEAOF, y Redis también se puede configurar para que se realice automáticamente de forma periódica.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_24852439/article/details/104381216
Recomendado
Clasificación