le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Redis (RemoteDictionaryServer, tipo dizionario remoto) è un database NoSQL open source scritto in linguaggio C. Redis funziona in base alla memoria e supporta la persistenza. Adotta il formato di archiviazione chiave-valore (coppia chiave-valore) ed è una parte indispensabile dell'attuale architettura distribuita.
NoSQL (NoSQL= Not Only SQL), che significa "non solo SQL", è il termine generale per i database non relazionali. I database NoSQL tradizionali includono Redis, MongBD, Hbase, CouhDB, ecc. I database non relazionali di cui sopra sono completamente diversi nei metodi di archiviazione, nelle strutture di archiviazione e negli scenari di utilizzo. Quindi pensiamo che sia una raccolta di database non relazionali, non un termine generale come i database relazionali. In altre parole, i database diversi dai database relazionali tradizionali possono essere considerati non relazionali. Il database NOSQL è considerato il prodotto database di prossima generazione grazie ai suoi vantaggi di espansione non relazionale, distribuita, open source e orizzontale.
Un database relazionale è un database strutturato basato su un modello relazionale ed è generalmente orientato ai record. Elabora i dati nei database con l'aiuto di concetti e metodi matematici come l'algebra degli insiemi. Il modello relazionale si riferisce al modello di tabella bidimensionale, quindi un database relazionale è un'organizzazione di dati composta da tabelle bidimensionali e dalle relazioni tra di loro. Nel mondo reale, varie entità e varie relazioni tra entità possono essere rappresentate da modelli relazionali. L'istruzione SQL (Standard Data Query Language) è un linguaggio basato su un database relazionale e viene utilizzato per recuperare e gestire i dati in un database relazionale.
Con l'avvento dei siti Web Web 2.0, i database relazionali vengono esposti quando si tratta di siti Web Web 2.0, in particolare siti Web Web 2.0 puramente dinamici con enormi quantità di dati e alta concorrenza SNS (servizi di social network, ovvero servizi di social network). difficili da risolvere, come il problema del tre alto.
I siti Web Web2.0 genereranno pagine dinamiche e forniranno informazioni dinamiche in tempo reale in base alle informazioni personalizzate dell'utente, pertanto non è possibile utilizzare la tecnologia statica delle pagine dinamiche. Pertanto, il carico simultaneo del database è molto elevato, raggiungendo generalmente più di 10.000 richieste/s di lettura e scrittura. Il database relazionale riesce ancora a malapena a supportare decine di migliaia di richieste di query, ma se ci sono decine di migliaia di richieste di scrittura di dati, il disco rigido I0 non può più sopportarle. Per i normali siti Web BBS, ci sono spesso elevate richieste di scrittura simultanea di dati.
I siti Web SNS come Facebook e Friendfeed generano ogni giorno una grande quantità di informazioni dinamiche sugli utenti. Ad esempio, Friendfeed genererà non meno di 250 milioni di informazioni dinamiche sugli utenti in un mese. Per i database relazionali, l'efficienza delle query è molto bassa quando si eseguono query SQL in una tabella contenente 250 milioni di record.
Nell'architettura Web, il database è il più difficile da scalare orizzontalmente. Quando il numero di utenti e di visite al sistema applicativo aumenta di giorno in giorno, il database non può semplicemente espandere le proprie prestazioni e capacità di carico aggiungendo hardware e nodi server come i servizi Web. Soprattutto per alcuni siti Web che devono fornire servizi 24 ore al giorno, gli aggiornamenti e le espansioni del database sono spesso accompagnati da tempi di inattività, manutenzione e migrazione dei dati, e il carico di lavoro è molto elevato.
I database relazionali e non relazionali hanno le proprie caratteristiche e scenari applicativi. La stretta combinazione dei due porterà nuove idee allo sviluppo dei database Web2.0. Lascia che i database relazionali si concentrino sulle relazioni e che i database non relazionali si concentrino sullo storage. Ad esempio, in un ambiente di database MySQL in cui lettura e scrittura sono separate, i dati a cui si accede frequentemente possono essere archiviati in un database non relazionale per migliorare la velocità di accesso.
Ha velocità di lettura e scrittura dei dati estremamente elevate. La velocità di lettura dei dati può raggiungere fino a 110.000 volte/s e la velocità di scrittura dei dati può raggiungere fino a 81.000 volte/s.
Supporta tipi di dati avanzati, non solo supporta semplici dati di tipo chiave-valore, ma supporta anche operazioni di tipi di dati come stringhe, elenchi, hash, set e set ordinati.
Supporta la persistenza dei dati I dati in memoria possono essere salvati su disco e possono essere caricati nuovamente per essere utilizzati al riavvio.
Atomico, tutte le operazioni Redis sono atomiche.
Supporta il backup dei dati, ovvero il backup dei dati in modalità master-salve.
Redis è un database basato sulla memoria e la memorizzazione nella cache è uno dei suoi scenari applicativi più comuni. Inoltre, gli scenari applicativi comuni di Redis includono anche operazioni per ottenere i dati N più recenti, applicazioni di classificazione, applicazioni di conteggio, relazioni di archiviazione, sistemi di analisi in tempo reale e registrazione.
[root@localhost ~]# systemctl stop firewalld //Nell'ambiente sperimentale, disattivare il firewall non ha alcun effetto. Non è consigliabile disattivarlo nell'ambiente di produzione. Prova ad aggiungere una policy firewall.
[root@localhost ~]# setenforce 0 //Spegnere il kernel, che bloccherà l'esecuzione dell'applicazione.
[root@localhost ~]# yum -y install gcc* zlib-devel //Scarica gli strumenti richiesti per decomprimere il pacchetto tar
[root@localhost ~]#tar xvzf redis-4.0.9.tar.gz //redis è un'applicazione open source e gratuita. Puoi scaricare questo pacchetto dal sito Web ufficiale
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# crea
Avviso:
Durante la creazione potrebbe apparire il seguente messaggio di errore:
Soluzione 1: utilizzarerendi MALLOC=libc specifica l'allocatore di memoria per libccompilare
Soluzione 2: rendi pulito && mache distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost ~]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd /root/redis-4.0.9/utils/
[root@localhost utilità]# ./install_server.sh
Nota:
File di configurazione: /etc/redis/6379.conf //Percorso del file di configurazione
File di registro: /var/log/redis_6379.log //Percorso del file di registro
Dir dati: /var/lib/redis/6379 //Percorso file dati
Eseguibile: /usr/local/redis/bin/redis-server //percorso del file eseguibile
Eseguibile CLI: /usr/local/redis/bin/redis-cli //Strumento da riga di comando del client
[root@localhost utilità]# netstat -anpt | grep redis
[root@localhost ~]#/etc/init.d/redis_6379 arresto
[root@localhost ~]#/etc/init.d/redis_6379 inizio
[root@localhost ~]#/etc/init.d/redis_6379 riavvia
[root@localhost ~]#/etc/init.d/redis_6379 stato
[root@localhost ~]#vim /etc/redis/6379.conf
legare 127.0.0.1 192.168.10.101 //Indirizzo dell'host in ascolto
porta 6379 //porta
demonizzare sì //Abilita il processo del demone
file pid /var/run/redis_6379.pid //Specificare il file PID
avviso di livello di registro //livello di registro
file di registro /var/log/redis_6379.log //Specificare il file di registro
[root@localhost~]#/etc/init.d/redis_6379 riavvia
[root@localhost utilità]# netstat -anpt | grep redis
Ø redis-server: strumento per avviare Redis;
Ø benchmark redis: utilizzato per rilevare l'efficienza di funzionamento di Redis su questa macchina;
Ø redis-check-aof: ripara il file di persistenza AOF;
Ø redis-check-rdb: ripara i file di persistenza RDB;
Ø redis-cli: strumento da riga di comando Redis.
[root@localhost ~]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> ping
PONG
[root@localhost ~]#redis-cli -h 192.168.10.101 -p 6379
Øaiuto@<group> :Ottenere<group> elenco dei comandi in ;
Øaiuto<command> : Ottieni aiuto per un comando;
Ø aiuto<tab> : ottieni un elenco di argomenti che potrebbero essere utili.
Nota:
Ø aiuto<tab> : ottieni un elenco di argomenti che potrebbero essere utili.
Dopo aver digitato aiuto, premere il tasto tab
127.0.0.1:6379>aiuto @list
127.0.0.1:6379>imposta aiuto
redis-benchmark è lo strumento ufficiale di test delle prestazioni Redis in grado di testare efficacemente le prestazioni dei servizi Redis.
Ø -h: specifica il nome host del server;
Ø -p: Specifica la porta del server;
Ø -s: specifica il socket del server;
Ø -c: specifica il numero di connessioni simultanee;
Ø -n: Specificare il numero di richieste;
Ø -d: specifica la dimensione dei dati del valore SET/GET in byte;
Ø -k:1=mantieni attivo 0=riconnetti;
Ø -r: SET/GET/INCR utilizza chiavi casuali, SADD utilizza valori casuali;
Ø -P: Trasmissione attraverso tubazioni<numreq> chiedere;
Ø -q: forza l'uscita da redis. Vengono visualizzati solo i valori query/sec;
Ø --csv: output in formato CSV;
Ø -l: genera un loop ed esegue il test in modo permanente;
Ø -t: esegue solo un elenco separato da virgole di comandi di test;
Ø -I: modalità inattiva. Apri solo le connessioni N inattive e attendi.
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000 //Invia 100 connessioni simultanee e 100000 test di richiesta al server Redis con indirizzo IP 192.168.10.101 e prestazioni della porta 6379
Nota:
Ø -h: specifica il nome host del server;
Ø -p: Specifica la porta del server;
Ø -c: specifica il numero di connessioni simultanee;
Ø -n: Specificare il numero di richieste;
====== MSET (10 tasti) ======
100000 richieste completate in 1,02 secondi
100 client paralleli ##100 connessioni simultanee
Carico utile di 3 byte
mantenere in vita: 1
87,25% <= 1 millisecondi ##87.25% dei tempi di esecuzione dei comandi è inferiore o uguale a 1 millisecondo
99,90% <= 2 millisecondi
100,00% <= 2 millisecondi
97943,19 richieste al secondo #Numero di richieste al secondo
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Nota:
Ø -h: specifica il nome host del server;
Ø -p: Specifica la porta del server;
Ø -d: specifica la dimensione dei dati del valore SET/GET in byte;
Ø -q: forza l'uscita da redis. Vengono visualizzati solo i valori query/sec;
PING_INLINE: 121506,68 richieste al secondo //Quante operazioni PING vengono completate al secondo
PING_BULK: 124378,11 richieste al secondo
SET: 121654,50 richieste al secondo //Quante volte al secondo viene completato il valore della chiave SET
GET: 122100.12 richieste al secondo //Quanti valori chiave GET sono stati completati al secondo
INCR: 118764,84 richieste al secondo //Quanti conteggi atomici vengono completati al secondo
LPUSH: 112612,61 richieste al secondo
RPUSH: 118623,96 richieste al secondo
LPOP: 107874,87 richieste al secondo
RPOP: 114416,48 richieste al secondo
SADD: 123304,56 richieste al secondo
HSET: 122249,38 richieste al secondo
SPOP: 128040,97 richieste al secondo
LPUSH (necessario per il benchmark LRANGE): 116686,12 richieste al secondo
LRANGE_100 (primi 100 elementi): 40016,00 richieste al secondo
LRANGE_300 (primi 300 elementi): 11991,85 richieste al secondo
LRANGE_500 (primi 450 elementi): 7381,71 richieste al secondo
LRANGE_600 (primi 600 elementi): 5230,67 richieste al secondo
MSET (10 chiavi): 92421,44 richieste al secondo //Chiave multipla v al secondolodeNumero di richieste
[root@localhost ~]# redis-benchmark -t set,lpush -n 100000 -q //Testa le prestazioni del servizio Redis su questa macchina durante le operazioni set e lpush.
Nota:
Ø -n: Specificare il numero di richieste;
Ø -q: forza l'uscita da redis. Vengono visualizzati solo i valori query/sec;
Ø -t: esegue solo un elenco separato da virgole di comandi di test;
SET: 121951,22 richieste al secondo
LPUSH: 127226,46 richieste al secondo
Ø impostato: Memorizza i dati. Il formato del comando di base è imposta il valore chiave。
Ø Ottenere: Ottieni dati, il formato del comando di base è prendi la chiave。
esistere Rosso nel database, con chiave I comandi rilevanti includono principalmente i seguenti.
utilizzo chiavi Il comando può accettare un elenco di valori chiave conformi alle regole. Di solito può essere combinato* ,? opzioni da utilizzare.
127.0.0.1:6379>impostare k1 1
OK
127.0.0.1:6379>impostare k2 2
OK
127.0.0.1:6379>impostare k3 3
OK
127.0.0.1:6379>imposta v1 4
OK
127.0.0.1:6379>impostare v5 5
OK
127.0.0.1:6379>CHIAVI *
1) "insegnante"
2) "k1"
3) "k2"
4) "k3"
5) "v1"
6) "v5"
127.0.0.1:6379>impostare v22 5
OK
127.0.0.1:6379>CHIAVI v*
1) "v1"
2) "v5"
3) "v22"
127.0.0.1:6379>CHIAVI v?
1) "v1"
2) "v5"
127.0.0.1:6379>CHIAVI v??
1) "v22"
esiste Il comando può determinare se il valore della chiave esiste
127.0.0.1:6379>esiste insegnante
(numero intero) 1
Il risultato è 1, che significa insegnante la chiave esiste
127.0.0.1:6379>esiste il tè
(intero) 0
Il risultato è 0, il che significa tè la chiave non esiste
del Il comando può eliminare l'oggetto specificato chiave
127.0.0.1:6379>chiavi *
1) "insegnante"
2) "v1"
3) "v22"
4) "k3"
5) "k1"
6) "k2"
7) "v5"
127.0.0.1:6379> del v5
(numero intero) 1
127.0.0.1:6379>ottenere v5
(nullo)
utilizzo tipo È possibile ottenere il comando chiave corrispondente valore tipo di valore
127.0.0.1:6379>tipo k1
corda
Nota:
Tipi di dati supportati da Redis
rinominare Il comando è per un esistente chiave rinominare
Nell'uso reale, si consiglia di utilizzare esiste Comando per visualizzare l'obiettivo chiave esiste e quindi decidere se eseguirlo rinominare comando per evitare di sovrascrivere dati importanti
127.0.0.1:6379>chiavi v*
1) "v1"
2) "v22"
127.0.0.1:6379>rinomina v22 v2
OK
127.0.0.1:6379>chiavi v*
1) "v1"
2) "v2"
127.0.0.1:6379>ottenere v1
"4"
127.0.0.1:6379>ottenere v2
"5"
127.0.0.1:6379>rinomina v1 v2
OK
127.0.0.1:6379>ottenere v1
(nullo)
127.0.0.1:6379>ottenere v2
"4"
rinominare La funzione del comando è modificare l'esistente chiave Eseguire una ridenominazione e verificare se il nuovo nome esiste.
utilizzorinominare Quando il comando viene rinominato, se target chiave Se esiste, non verrà rinominato.
127.0.0.1:6379>chiavi *
1) "insegnante"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>ottenere insegnante
"Zhanglong"
127.0.0.1:6379>ottenere v2
"4"
127.0.0.1:6379>insegnante renamenx v2
(intero) 0
127.0.0.1:6379>chiavi *
1) "insegnante"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>ottenere insegnante
"Zhanglong"
127.0.0.1:6379>ottenere v2
"4
dimensione database Lo scopo del comando è visualizzare il database corrente chiave Numero di.
127.0.0.1:6379> dimensione database
(numero intero) 5
Rosso Incluso per impostazione predefinita senza alcuna modifica 16 database, il nome del database è un numero 0-15 da nominare in ordine
(1)Passa al numero di serie 10 Banca dati
127.0.0.1:6379>seleziona 10
OK
(2)Passa al numero di serie 15 Banca dati
127.0.0.1:6379[10]>seleziona 15
OK
(3)Passa al numero di serie 0 Banca dati
127.0.0.1:6379[15]>seleziona 0
Rosso Le molteplici banche dati sono in una certa misura relativamente indipendenti, ad esempio nella banca dati 0 Conservare sopra chi1 dati, in altro 1-15 Non è possibile visualizzarlo nel database.
127.0.0.1:6379>impostare k1 100
OK
127.0.0.1:6379>prendi k1
"100"
127.0.0.1:6379>seleziona 1
OK
127.0.0.1:6379[1]>prendi k1
(nullo)
127.0.0.1:6379[1]>seleziona 0 //Passa al database di destinazione 0
OK
127.0.0.1:6379>prendi k1 //Controlla se i dati di destinazione esistono
"100"
127.0.0.1:6379>muovi k1 1 //Banca dati 0 mezzo chi1 Sposta nel database 1 mezzo
(numero intero) 1
127.0.0.1:6379>seleziona 1 //Passa al database di destinazione 1
OK
127.0.0.1:6379[1]>prendi k1 //Visualizza i dati spostati
"100"
127.0.0.1:6379[1]> seleziona 0
OK
127.0.0.1:6379> prendi k1 //nella banca dati 0 Non può essere visionato chi1 valore
(nullo)
Per cancellare i dati del database corrente, utilizzare SVUOTA-DB
Implementazione del comando; cancellare tutti i dati del database, utilizzare FLUSHALL Implementazione del comando
Rosso Tutti i dati vengono archiviati in memoria e quindi salvati in modo asincrono su disco di volta in volta.(Questo è chiamato“Modalità semipersistente”); Puoi anche scrivere ogni modifica dei dati in a aggiungi solo file (aof)In(Questo è chiamato“Modalità di persistenza completa”)。
Poiché i dati Redis vengono archiviati in memoria, se la persistenza non è configurata,Rosso Dopo il riavvio, tutti i dati andranno persi.Pertanto, è necessario abilitareRosso La funzione di persistenza salva i dati su disco Quando Rosso Dopo un riavvio, i dati possono essere recuperati dal disco.Rosso Sono forniti due metodi per la persistenza, uno è RDB(Banca dati Redis) Persistenza (il principio è quello di ReidiTempi di registrazione del database in memoria scarico su disco RDB persistenza), l'altro lo è AOF(aggiungere solo file)Persistenza (il principio è quello di Reidi Il registro delle operazioni viene scritto nel file in modo aggiunto).
Il metodo predefinito
La persistenza RDB è il processo di generazione di un'istantanea dei dati di processo correnti e di salvataggio sul disco rigido. Il processo di attivazione della persistenza RDB è suddiviso in attivazione manuale e attivazione automatica.
Meccanismo di attivazione: l'attivazione manuale corrisponde rispettivamente ai comandi save e bgsave.
comando save: blocca il server Redis corrente fino al completamento del processo RDB. Per le istanze con una grande quantità di memoria, causerà un blocco temporale. Non consigliato per l'uso in ambienti online.
Comando bgsave: il processo Redis esegue l'operazione fork (funzione utilizzata per creare un processo) per creare un processo figlio. Il processo di persistenza RDB è responsabile del processo figlio e termina automaticamente dopo il completamento. Il blocco avviene solo durante la fase di fork.
Vantaggi dell'RDB:
RDB è un file binario compatto e compresso che rappresenta un'istantanea dei dati Redis in un determinato momento. È molto adatto per backup, copia completa e altri scenari. Ad esempio, esegui il backup bgsave ogni 6 ore e copia il file RDB sul computer remoto o sul file system per il ripristino di emergenza.
Redis carica RDB e recupera i dati molto più velocemente del metodo AOF.
Svantaggi dell'RDB:
I dati in modalità RDB non possono raggiungere la persistenza in tempo reale/persistenza di secondo livello. Poiché ogni volta che viene eseguito bgsave, viene eseguita un'operazione di fork per creare un processo figlio, che è un'operazione pesante e il costo di un'esecuzione frequente è troppo alto.
I file RDB vengono salvati in un formato binario specifico Durante l'evoluzione delle versioni Redis, esistono più formati di versioni RDB. Si verifica un problema che la vecchia versione del servizio Redis non è compatibile con la nuova versione del formato RDB.
Persistenza AOF (aggiunta solo file): registra ogni comando di scrittura in un registro indipendente, quindi riesegui il comando nel file AOF per ripristinare i dati al riavvio. La funzione principale di AOF è risolvere il problema in tempo reale della persistenza dei dati. Ora è la corrente principale della persistenza di Redis.
Criteri per la scelta tra i due:
Sacrificare alcune prestazioni in cambio di una maggiore coerenza della cache (AOF),
Quando le operazioni di scrittura sono frequenti, non abilitare il backup in cambio di prestazioni più elevate e attendere l'operazione manuale. salva quando, esegui nuovamente il backup (RDB)
Nota:
Se è necessario caricare un file persistente dopo il riavvio dei redies, verranno selezionati i file AOF.
Se viene abilitato prima RDB e poi AOF, e prima viene reso persistente RDB, il contenuto del file RDB verrà sovrascritto da AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Apri 6379.conf Dopo il file, cerca salva, è possibile visualizzare le informazioni di configurazione come mostrato di seguito.
esistere Rosso Esistono tre metodi di sincronizzazione nel file di configurazione:
sempre: persistenza sincrona, ogni volta che i dati cambiano, verranno scritti immediatamente sul disco
ogni secondo: consigliato per impostazione predefinita, registra in modo asincrono ogni secondo (valore predefinito)
no: nessuna sincronizzazione, lasciando al sistema operativo la decisione su come sincronizzarsi
Ignora l'ultima istruzione potenzialmente problematica
[root@localhost ~]#/etc/init.d/redis_6379 riavvia
per risolvere AOF Se la dimensione del file continua ad aumentare, gli utenti possono segnalarlo Rosso Inviare BGREWRITEAOFOrdine.BGREWRITEAOF Il comando verrà rimosso tramite AOF comandi ridondanti nel file da sovrascrivere (riscrivere)AOFarchiviare, creare AOF Mantieni la dimensione del file quanto più piccola possibile.
127.0.0.1:6379> bgrewriteaof
Avviata la riscrittura del file di aggiunta solo in background
# Quando il registro è BGREWRITEAOF,Seno-appendfsync-durante-la-riscritturaImpostato su sì, il che significa che le nuove operazioni di scrittura non verranno sincronizzate con fsync, ma verranno archiviate solo temporaneamente nel buffer. , per evitare conflitti nelle operazioni di I/O del disco, attendere il completamento della riscrittura prima di scrivere. L'impostazione predefinita in Redis è no
no-appendfsync-on-rewrite no
# Quando la dimensione corrente del file AOF è doppia rispetto alla dimensione del file AOF durante l'ultima riscrittura del registro, si verifica l'operazione BGREWRITEAOF.
percentuale di riscrittura automatica aof 100
Nota:
100 si riferisce aIl rapporto di crescita del file AOF si riferisce al rapporto di crescita del file AOF corrente rispetto all'ultima riscrittura.,100 è due volte
#Il valore minimo del file AOF corrente per eseguire il comando BGREWRITEAOF per evitare frequenti BGREWRITEAOF a causa delle dimensioni ridotte del file al primo avvio di Reids.
auto-aof-rewrite-min-size 64mb
192.168.9.236:7001> memoria informativa
used_memory:1210776 #La dimensione della memoria utilizzata,in byte
used_memory_human:1.15M # Display con unità,a M
used_memory_rss:7802880 # Quanta memoria occupa redis dal punto di vista del sistema operativo?
used_memory_rss_human:7.44M # Display con unità
maxmemory:1073741824 # Dimensione massima della memoria
maxmemory_human:1.00G # Display con unità
politica-maxmemory: Strategia di riciclaggio
Ø volatile-lru: permette Rosso Scegli quello utilizzato meno di recente dall'intero set di dati chiave Eliminare
Ø volatile-ttl:Eliminare in base all'ora di scadenza della chiave
Ø volatile-casuale: seleziona in modo casuale i dati da eliminare dalla raccolta dati con data di scadenza impostata;
Ø tutti i tasti-lru:utilizzo LRU Gli algoritmi eliminano i dati da tutti i set di dati;
Ø tutti i tasti-casuale: selezionare in modo casuale i dati da eliminare dalla raccolta dati;
Ø non sfratto: Disabilita l'eliminazione dei dati (valore predefinito)
Nota:
Imposta la scadenza della chiave
scadenza v1 10
v1 ha una scadenza di 10 secondi
Nota:
Quando Rosso È necessario recuperarne uno a causa della pressione della memoria chiave ora,Rosso La prima considerazione non è riciclare i dati più vecchi, ma quelli utilizzati meno di recente. chiave o in scadenza chiave Scegline uno a caso tra chiave, rimosso dal set di dati
Trova la parola chiave requirepass, seguita dalla password. Per impostazione predefinita è commentata, ovvero non è richiesta alcuna password, come segue:
Apri il commento, impostalo come password e riavvia
Utilizzare redis-cli per connettersi a redis ed eseguire il comando seguente
configurazione impostata requirepass 123456
Una volta completata l'esecuzione, non è necessario riavviare. Sarà necessario inserire la password quando si esce dal client e si accede nuovamente.
[root@localhost bin]# ./redis-cli -a 123456
[root@localhost bin]# ./redis-cli127.0.0.1:6379> autenticazione 123456
[root@localhost bin]# ./redis-cli -a 123456 arresto
1) La password impostata modificando il file di configurazione avrà effetto in modo permanente; la password impostata utilizzando il comando avrà effetto temporaneo e diventerà non valida dopo il riavvio.
2) La modifica della password impostata nel file di configurazione richiede un riavvio per avere effetto; utilizzare la password impostata dal comando per avere effetto dopo essersi disconnessi e aver effettuato nuovamente l'accesso e diventerà non valida dopo il riavvio.
3) La priorità del comando è superiore alla priorità del file di configurazione