Condivisione della tecnologia

Configurazione e ottimizzazione NoSQL REDIS

2024-07-12

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

1. Introduzione a Redis

Redis (Remote Dictionary Server) è un database NoSQL open source scritto in linguaggio C. Funziona in base alla memoria e supporta la persistenza, utilizzando il modulo di archiviazione di valori-chiave. Redis è ampiamente utilizzato nella memorizzazione nella cache, nei sistemi di analisi in tempo reale, nelle classifiche e in altri scenari grazie alle sue prestazioni elevate, al ricco supporto di tipi di dati e alle operazioni atomiche.
Il programma server Redis è un modello a processo singolo, ovvero è possibile avviare più processi Redis contemporaneamente su un server e la velocità di elaborazione effettiva di Redis dipende completamente dall'efficienza di esecuzione del processo principale. Se sul server è in esecuzione un solo processo Redis, quando più client vi accedono contemporaneamente, la capacità di elaborazione del server diminuirà in una certa misura; se più processi Redis vengono aperti sullo stesso server, Redis migliorerà le capacità di elaborazione simultanea. Allo stesso tempo, metterà molta pressione sulla CPU del server. Cioè: nell'ambiente di produzione reale, è necessario decidere quanti processi Redis avviare in base alle esigenze effettive. Se hai requisiti più elevati per un'elevata concorrenza, potresti prendere in considerazione l'avvio di più processi sullo stesso server. Se le risorse della CPU sono limitate, è possibile utilizzare un singolo processo.

2. Installazione di Redis su Linux

Esistono principalmente i seguenti metodi per installare Redis su Linux:

1. Installa utilizzando un gestore di pacchetti

Per la maggior parte delle distribuzioni Linux, Redis può essere installato direttamente utilizzando un gestore di pacchetti.Ad esempio, su Ubuntu o Debian, puoi usareapt-getOrdine:

bash复制代码

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

Su CentOS o Red Hat, utilizzareyumOrdine:

bash复制代码

sudo yum update
sudo yum install redis

2. Compilare e installare dal codice sorgente

Un altro metodo di installazione è scaricare il codice sorgente dal sito Web ufficiale di Redis, quindi compilarlo e installarlo. Procedi come segue:

  1. Installa strumenti di compilazione

    Innanzitutto, devi installare strumenti di compilazione come gcc.Su CentOS o Red Hat è possibile utilizzareyumInstallare:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Scarica il codice sorgente Redis

    Scarica l'ultimo pacchetto compresso (come redis-6.xxtar.gz) dal sito Web ufficiale di Redis.

  3. Compila e installa

    Decomprimi il pacchetto compresso scaricato, entra nella directory di decompressione ed esegui i comandi di compilazione e installazione:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Configura il servizio Redis

    Puoi utilizzare ciò che Redis fornisceinstall_server.shScript per impostare il servizio Redis o configurarlo manualmente.

3. Configurazione e ottimizzazione di Redis

1. File di configurazione

Il file di configurazione per Redis è solitamenteredis.conf, puoi configurare vari parametri di Redis modificando questo file.

  • Associa l'indirizzo : per impostazione predefinita, Redis accetta solo connessioni dall'interfaccia locale.Se desideri che Redis accetti connessioni da altri host, devi modificarebindopzione o commentare la riga.
  • modalità protetta : Redis viene eseguito in modalità protetta per impostazione predefinita e accetta solo connessioni da 127.0.0.1. La disattivazione della modalità protetta consente le connessioni remote.
  • Autenticazione della password: per migliorare la sicurezza, puoi impostare una password per Redis.
  • Persistenza : Redis supporta due meccanismi di persistenza: RDB e AOF. La persistenza può essere abilitata impostando le opzioni nel file di configurazione.
  • Limite massimo di memoria: è possibile impostare l'utilizzo massimo della memoria di Redis e la strategia di eliminazione quando viene raggiunta la memoria massima.

2. Ottimizzazione delle prestazioni

L'ottimizzazione delle prestazioni di Redis include principalmente il controllo dell'allocazione della memoria, le impostazioni di swappiness, l'ottimizzazione della connessione di rete, ecc.

  • Controllo dell'allocazione della memoria

    nel sistema operativo Linuxvm.overcommit_memory I parametri controllano la strategia di allocazione della memoria. Redis consiglia di impostarlo su 1 in modo che le operazioni di fork possano essere eseguite correttamente anche in situazioni di memoria insufficiente.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • impostazioni di scambio

    Il parametro swappiness determina la tendenza del sistema operativo a utilizzare lo swap. Per le applicazioni che richiedono elevata concorrenza e throughput elevato, si consiglia di impostare lo swappiness su un valore inferiore per ridurre la possibilità che l'I/O del disco diventi un collo di bottiglia del sistema.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Ottimizzazione della connessione di rete

    Garantisci una connessione di rete stabile e riduci il ritardo della rete e la perdita di pacchetti.Allo stesso tempo, configura ragionevolmente i parametri TCP di Redis, cometcp-keepaliveecc. per migliorare la stabilità e l'affidabilità delle connessioni di rete.

3. Monitoraggio e debug

  • Visualizza lo stato di Redis

    poter usareredis-cliComando per connettersi al server Redis ed eseguirloINFOcomando per visualizzare lo stato corrente di Redis, incluso l'utilizzo della memoria, lo stato di persistenza, il numero di connessioni, ecc.

  • Visualizza i file di registro

    I file di registro Redis si trovano solitamente in/var/log/redis/redis-server.log, è possibile ottenere informazioni sull'errore e sullo stato di esecuzione visualizzando il file di registro.