le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Un database relazionale è un database strutturato, creato su un modello di database relazionale e creato orientato ai record.
Database relazionali comuni: Oracle, MySQL, SQL Server, Microsoft Access, DB2.
NOSQL=Non solo SQL è il termine generale per i database non relazionali. A seconda del metodo di archiviazione, della struttura di archiviazione e degli scenari di utilizzo, viene chiamato database non relazionale. I database diversi dai database relazionali tradizionali possono essere chiamati database non relazionali.
Database non relazionali comuni: Redis, MongoDB, Hbase, CouhDB.
Redis è un database Nosql open source scritto in linguaggio C. Funziona in base alla memoria e supporta la persistenza. Adotta il formato di archiviazione chiave-valore (coppia chiave-valore). Il suo numero di porta è 6379.
1. Installa Redis
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y installa gcc* zlib-devel
[root@localhost ~]#tar xvzf redis-4.0.9.tar.gz
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# crea
Avviso:
Verrà generato un messaggio di errore dopo make,
soluzione:
Soluzione 1: utilizzare make MALLOC=libc per specificare l'allocatore di memoria da compilare per libc
Soluzione 2: make clean && make distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utils/
Tra questi: install_server.sh è lo script di inizializzazione
[root@localhost utilità]# ./install_server.sh
Selezionare il percorso eseguibile di Redis [] /usr/local/redis/bin/redis-server(fornire il percorso dell'eseguibile)
Visualizza il controllo dei processi e dei servizi
[root@localhost utilità]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* ASCOLTA 5360/redis-server 1
[root@localhost utilità]# /etc/init.d/redis_6379 stop(Redis è chiuso)
[root@localhost utilità]# /etc/init.d/redis_6379 inizio(SU)
[root@localhost utilità]# /etc/init.d/redis_6379 stato (stato)
Modifica dei parametri di configurazione
[root@localhost ~]#vim /etc/redis/6379.conf
lega 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
Strumento di comando 2.redis
[root@localhost utilità]# redis-cli(Accesso locale)
[utilità root@localhost]# redis-cli -h 192.168.10.101 -p 6379(accesso remoto)
192.168.10.101:6379> fare un ping(Il servizio di rilevamento funziona normalmente)
PONG
3: strumento di test redis-benchmark
redis-benchmark è lo strumento ufficiale di test delle prestazioni Redis in grado di testare efficacemente le prestazioni dei servizi Redis.
(1) Provare le prestazioni della richiesta
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000
Nota:
-h: specifica il nome host del server;
-p: specifica la porta del server;
-c: specifica il numero di connessioni simultanee;
-n: specifica il numero di richieste;
(2) Testare le prestazioni di accesso
[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;
set memorizza il formato del comando dati imposta il valore della chiave
get Ottieni il formato del comando dati ottieni la chiave
1. Aggiungi coppie chiave-valore
127.0.0.1:6379> imposta 1 1
OK
127.0.0.1:6379> imposta 2 2
OK
127.0.0.1:6379> imposta 3 3
OK
2. Visualizza tutti i valori nel database
127.0.0.1:6379> chiavi *
1) "3"
2) "1"
3) "2"
3. Visualizzare i dati che iniziano con v nel database
127.0.0.1:6379>CHIAVI v*
4. Visualizzare tutti i dati che iniziano con v nel database
127.0.0.1:6379>CHIAVI v?
5.Visualizza il database corrente con la inizioQuanto segue contiene due cifre qualsiasi di dati
127.0.0.1:6379>CHIAVI v??
Determinare se il valore esiste.
127.0.0.1:6379>esiste f5Determina se esiste f5
(numero intero) 1 Il risultato è 1, che indica che il tasto F5 esiste
Piace
(intero) 0 Il risultato è 0, che indica che il tasto F5 non esiste
del Il comando può eliminare l'oggetto specificato chiave
127.0.0.1:6379> del v5 Elimina v5 nel database
(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>rinomina v22 v2 Rinominare v22 in v2
OK
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.
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
127.0.0.1:6379>impostare k1 100 Crea k1 nel database 0
OK
127.0.0.1:6379>prendi k1
"100"
127.0.0.1:6379>muovi k1 1 //Sposta k1 dal database 0 al database 1
(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 //Il valore di k1 non può essere visualizzato nel database 0
(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”)。
Perché Rosso Tutti i dati 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 ReidiDump temporizzato dei record 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).
La differenza tra RDB e AOF
ROB scrive l'istantanea dei dati sul disco entro l'intervallo di tempo specificato. È un sottoprocesso del fork. Innanzitutto scrive i dati in una cartella temporanea. Dopo aver eseguito correttamente, sostituirà il file precedente e lo memorizzerà con la compressione binaria.
AOF registra ogni operazione di scrittura ed eliminazione del server sotto forma di registro. Le operazioni di query non verranno registrate, ma saranno registrate in forma testuale.
Vantaggi e svantaggi di RDB e AOF
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.
Il recupero dei dati è veloce.
Massimizza le prestazioni
Elevata efficienza di avvio
RDBdiscordanza:
I dati che non sono stati salvati prima dello spegnimento andranno persi.
RDB viene completato attraverso il processo figlio fork, consumando risorse.
Vantaggi dell'AOF:
La durabilità dei dati è elevata
Nella modalità di aggiunta, il contenuto del file di registro non verrà distrutto anche in caso di inattività.
Il meccanismo di riscrittura può essere avviato per proteggere la sicurezza dei dati.
Svantaggi dell'AOF:
La velocità di recupero dei dati AOF è lenta
L'efficienza operativa dell'AOF è bassa
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 Redies necessita di caricare un file di persistenza dopo il riavvio,priorità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
Aprire 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 ##702 riga
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
192.168.9.236:7001> memoria informativa
memoria_usata:1210776 Dimensione della memoria utilizzata, in byte
memoria_umana_usata:1,15MVisualizzato con unità, in M
memoria_usata_rss:7802880Quanta memoria occupa Redis dal punto di vista del sistema operativo?
memoria_usata_rss_umano:7.44MVisualizzazione con unità
memoria massima:1073741824Dimensione massima della memoria
memoria_umana massima:1,00G Visualizzazione 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)
Imposta la scadenza della chiave
127.0.0.1:6379>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