Compartir tecnología

Configuración y optimización de NoSQL REDIS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Introducción a Redis

Redis (Remote Dictionary Server) es una base de datos NoSQL de código abierto escrita en lenguaje C. Se ejecuta en función de la memoria y admite la persistencia, utilizando un formulario de almacenamiento de valores clave. Redis se usa ampliamente en almacenamiento en caché, sistemas de análisis en tiempo real, clasificaciones y otros escenarios debido a su alto rendimiento, soporte de tipos de datos enriquecidos y operaciones atómicas.
El programa del servidor Redis es un modelo de proceso único, es decir, se pueden iniciar múltiples procesos de Redis simultáneamente en un servidor, y la velocidad de procesamiento real de Redis depende completamente de la eficiencia de ejecución del proceso principal. Si solo se ejecuta un proceso de Redis en el servidor, cuando varios clientes acceden a él al mismo tiempo, la capacidad de procesamiento del servidor disminuirá hasta cierto punto; si se abren varios procesos de Redis en el mismo servidor, Redis mejorará las capacidades de procesamiento concurrente. Al mismo tiempo, ejercerá mucha presión sobre la CPU del servidor. Es decir: en el entorno de producción real, debe decidir cuántos procesos de Redis iniciar en función de las necesidades reales. Si tiene requisitos más altos para una alta concurrencia, puede considerar iniciar múltiples procesos en el mismo servidor. Si los recursos de la CPU son escasos, se puede utilizar un solo proceso.

2. Instalación de Redis en Linux

Existen principalmente los siguientes métodos para instalar Redis en Linux:

1. Instalar usando un administrador de paquetes

Para la mayoría de las distribuciones de Linux, Redis se puede instalar directamente mediante un administrador de paquetes.Por ejemplo, en Ubuntu o Debian, puedes usarapt-getOrden:

bash复制代码

sudo apt-get update
sudo apt-get install redis-server

En CentOS o Red Hat, useyumOrden:

bash复制代码

sudo yum update
sudo yum install redis

2. Compile e instale desde el código fuente.

Otro método de instalación es descargar el código fuente del sitio web oficial de Redis y luego compilarlo e instalarlo. Proceder de la siguiente:

  1. Instalar herramientas de compilación

    Primero, necesitas instalar herramientas de compilación como gcc.En CentOS o Red Hat, puedes usaryumInstalar:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Descargar el código fuente de Redis

    Descargue el paquete comprimido más reciente (como redis-6.xxtar.gz) del sitio web oficial de Redis.

  3. compilar e instalar

    Descomprima el paquete comprimido descargado, ingrese al directorio de descompresión y ejecute los comandos de compilación e instalación:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Configurar el servicio Redis

    Puedes usar lo que proporciona Redis.install_server.shScript para configurar el servicio Redis o configurarlo manualmente.

3. Configuración y optimización de Redis.

1. Archivo de configuración

El archivo de configuración de Redis suele serredis.conf, puede configurar varios parámetros de Redis modificando este archivo.

  • dirección de enlace : De forma predeterminada, Redis solo acepta conexiones desde la interfaz local.Si desea que Redis acepte conexiones de otros hosts, debe modificarbindopción o comentar la línea.
  • modo protegido : Redis se ejecuta en modo protegido de forma predeterminada y solo acepta conexiones desde 127.0.0.1. Desactivar el modo protegido permite conexiones remotas.
  • Autenticación de contraseña: Para mejorar la seguridad, puede establecer una contraseña para Redis.
  • Persistencia : Redis admite dos mecanismos de persistencia: RDB y AOF. La persistencia se puede habilitar configurando opciones en el archivo de configuración.
  • Límite máximo de memoria: Puede establecer el uso máximo de memoria de Redis y la estrategia de eliminación cuando se alcanza la memoria máxima.

2. Optimización del rendimiento

La optimización del rendimiento de Redis incluye principalmente control de asignación de memoria, configuración de intercambio, optimización de la conexión de red, etc.

  • Control de asignación de memoria

    en el sistema operativo Linuxvm.overcommit_memory Los parámetros controlan la estrategia de asignación de memoria. Redis recomienda establecer esto en 1 para que las operaciones de bifurcación se puedan realizar correctamente incluso en situaciones de poca memoria.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • configuración de intercambio

    El parámetro de intercambio determina la tendencia del sistema operativo a utilizar el intercambio. Para aplicaciones que requieren alta concurrencia y alto rendimiento, se recomienda establecer el intercambio en un valor más bajo para reducir la posibilidad de que la E/S del disco se convierta en un cuello de botella del sistema.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Optimización de la conexión de red

    Garantice una conexión de red estable y reduzca el retraso de la red y la pérdida de paquetes.Al mismo tiempo, configure razonablemente los parámetros TCP de Redis, comotcp-keepaliveetc. para mejorar la estabilidad y confiabilidad de la conexión de red.

3. Monitoreo y depuración

  • Ver el estado de Redis

    puedo usarredis-cliComando para conectarse al servidor Redis y ejecutarINFOcomando para ver el estado actual de Redis, incluido el uso de memoria, el estado de persistencia, la cantidad de conexiones, etc.

  • Ver archivos de registro

    Los archivos de registro de Redis generalmente se encuentran en/var/log/redis/redis-server.log, puede obtener información de error y el estado de ejecución viendo el archivo de registro.