Compartilhamento de tecnologia

Configuração e otimização NoSQL REDIS

2024-07-12

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

1. Introdução ao Redis

Redis (Remote Dictionary Server) é um banco de dados NoSQL de código aberto escrito em linguagem C. Ele é executado com base na memória e oferece suporte à persistência, usando a forma de armazenamento de valores-chave. Redis é amplamente utilizado em cache, sistemas de análise em tempo real, classificações e outros cenários devido ao seu alto desempenho, rico suporte a tipos de dados e operações atômicas.
O programa do servidor Redis é um modelo de processo único, ou seja, vários processos Redis podem ser iniciados simultaneamente em um servidor, e a velocidade real de processamento do Redis depende completamente da eficiência de execução do processo principal. Se apenas um processo Redis estiver em execução no servidor, quando vários clientes o acessarem ao mesmo tempo, a capacidade de processamento do servidor diminuirá até certo ponto, se vários processos Redis forem abertos no mesmo servidor, o Redis melhorará as capacidades de processamento simultâneo; Ao mesmo tempo, colocará muita pressão na CPU do servidor. Ou seja: no ambiente de produção real, você precisa decidir quantos processos Redis iniciar com base nas necessidades reais. Se você tiver requisitos mais elevados para alta simultaneidade, considere iniciar vários processos no mesmo servidor. Se os recursos da CPU forem escassos, um único processo poderá ser usado.

2. Instalação do Redis no Linux

Existem principalmente os seguintes métodos para instalar o Redis no Linux:

1. Instale usando um gerenciador de pacotes

Para a maioria das distribuições Linux, o Redis pode ser instalado diretamente usando um gerenciador de pacotes.Por exemplo, no Ubuntu ou Debian, você pode usarapt-getOrdem:

bash复制代码

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

No CentOS ou Red Hat, useyumOrdem:

bash复制代码

sudo yum update
sudo yum install redis

2. Compile e instale a partir do código-fonte

Outro método de instalação é baixar o código-fonte do site oficial do Redis e, em seguida, compilá-lo e instalá-lo. Proceda da seguinte forma:

  1. Instale ferramentas de compilação

    Primeiro, você precisa instalar ferramentas de compilação como o gcc.No CentOS ou Red Hat, você pode usaryumInstalar:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Baixe o código-fonte do Redis

    Baixe o pacote compactado mais recente (como redis-6.xxtar.gz) do site oficial do Redis.

  3. Compilar e instalar

    Descompacte o pacote compactado baixado, entre no diretório de descompactação e execute os comandos de compilação e instalação:

    bash复制代码

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

    Você pode usar o que o Redis ofereceinstall_server.shScript para configurar o serviço Redis ou configurá-lo manualmente.

3. Configuração e otimização do Redis

1. Arquivo de configuração

O arquivo de configuração do Redis geralmente éredis.conf, você pode configurar vários parâmetros do Redis modificando este arquivo.

  • Endereço de vinculação : por padrão, o Redis aceita apenas conexões da interface local.Se quiser que o Redis aceite conexões de outros hosts, você precisa modificarbindopção ou comente a linha.
  • modo protegido : o Redis é executado em modo protegido por padrão e aceita apenas conexões de 127.0.0.1. Desativar o modo protegido permite conexões remotas.
  • Autenticação de senha: para melhorar a segurança, você pode definir uma senha para Redis.
  • Persistência : O Redis oferece suporte a dois mecanismos de persistência: RDB e AOF. A persistência pode ser habilitada definindo opções no arquivo de configuração.
  • Limite máximo de memória: você pode definir o uso máximo de memória do Redis e a estratégia de eliminação quando a memória máxima for atingida.

2. Otimização de desempenho

A otimização de desempenho do Redis inclui principalmente controle de alocação de memória, configurações de troca, otimização de conexão de rede, etc.

  • Controle de alocação de memória

    no sistema operacional Linuxvm.overcommit_memory Os parâmetros controlam a estratégia de alocação de memória. O Redis recomenda definir como 1 para que as operações de bifurcação possam ser executadas com êxito, mesmo em situações de pouca memória.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • configurações de troca

    O parâmetro swappiness determina a tendência do sistema operacional de usar swap. Para aplicativos que exigem alta simultaneidade e alto rendimento, é recomendado definir a troca para um valor mais baixo para reduzir a possibilidade de E/S de disco se tornar um gargalo do sistema.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Otimização da conexão de rede

    Garanta uma conexão de rede estável e reduza o atraso da rede e a perda de pacotes.Ao mesmo tempo, configure razoavelmente os parâmetros TCP do Redis, comotcp-keepaliveetc. para melhorar a estabilidade e confiabilidade das conexões de rede.

3. Monitoramento e depuração

  • Ver o status do Redis

    pode usarredis-cliComando para conectar-se ao servidor Redis e executarINFOcomando para visualizar o status atual do Redis, incluindo uso de memória, status de persistência, número de conexões, etc.

  • Ver arquivos de log

    Os arquivos de log do Redis geralmente estão localizados em/var/log/redis/redis-server.log, você poderá obter informações de erro e status de execução visualizando o arquivo de log.