Galleria mappe mentale Redis
Questa è una mappa mentale su Redis. I contenuti principali includono: 8. Persistenza Redis, 7. Transazioni Redis, 6. Pubblica e iscriviti, 2. Avvio, 1. Installa Redis 7.0, 5. File di configurazione Redis, 4. Dati Redis. digitare, 3. Comandi relativi alla chiave Redis (chiave).
Modificato alle 2024-03-28 15:31:48個人求職簡歷模板的暗黑配色方案,包括個人簡介、職業規劃、行業經驗、自我評價等多個部分,讓你的簡歷更出彩。使用模板可以極大地提高效率,用戶不需要從頭開始設計結構和內容,只需在模板的基礎上填寫或添加自己的信息即可,這樣可以節省大量的時間和精力,歡迎參考使用!持續分享給大家……
Se non sai come scrivere un articolo, sarai nei guai come manager dei sistemi informativi. Una guida passo passo su come scrivere un documento sulla gestione del rischio. Se ne hai bisogno, ritiralo velocemente!
Il programma dietetico formula un programma dietetico scientifico e ragionevole per soddisfare i nutrienti e l'energia richiesti dal corpo, mantenendo così una buona salute e una buona postura.
個人求職簡歷模板的暗黑配色方案,包括個人簡介、職業規劃、行業經驗、自我評價等多個部分,讓你的簡歷更出彩。使用模板可以極大地提高效率,用戶不需要從頭開始設計結構和內容,只需在模板的基礎上填寫或添加自己的信息即可,這樣可以節省大量的時間和精力,歡迎參考使用!持續分享給大家……
Se non sai come scrivere un articolo, sarai nei guai come manager dei sistemi informativi. Una guida passo passo su come scrivere un documento sulla gestione del rischio. Se ne hai bisogno, ritiralo velocemente!
Il programma dietetico formula un programma dietetico scientifico e ragionevole per soddisfare i nutrienti e l'energia richiesti dal corpo, mantenendo così una buona salute e una buona postura.
Redis
1. Installa Redis7.0
1. Scaricalo; inseriscilo nella directory opt
https://redis.io/download/
2. Decomprimere; nella directory opt
tar -zxvf redis-7.0.0.tar.gz
Dopo la decompressione
3. Immettere la directory redis-7.0.11
Installa gcc
gnam installa gcc-c
Fare
effettuare l'installazione
immagine dello schermo
4. Directory di installazione predefinita
/usr/locale/bin
/usr/local sotto Linux è simile a C:\Program Files nel nostro sistema Windows
Controllo
redis-benchmark: strumento di test delle prestazioni, esegui questo comando dopo l'avvio del servizio per vedere come funziona il tuo notebook.
redis-check-aof: ripara i file AOF problematici
redis-check-dump: risolve il file dump.rdb problematico
redis-cli: cliente, ingresso operazione
redis-sentinel: utilizzato dal cluster Redis
redis-server: comando di avvio del server Redis
5. Modificare il file di configurazione redis.conf
2. Inizia
Immettere la directory di installazione predefinita di Redis
redis-server: comando di avvio del server Redis
redis-cli: cliente, ingresso operazione
Se è impostata una password: password di autenticazione
Inizia in sottofondo
Eseguire il backup di Redis.conf
demonizzare il no al sì
[root@ecs-353138 redis-7.0.0]# redis-server ./redis.conf
Per avviare redis, è necessario specificare un file di configurazione. Non esiste un file di configurazione esplicito, infatti, redis legge il file di configurazione interno per impostazione predefinita, non redis.conf nella directory di installazione.
chiusura
Arresto di un'istanza singola: redis-cli -a arresto della password
Arresto multiistanza: specificare l'arresto della porta: redis-cli -p 6379 shutdown
Disinstallare Redis
1. Arresta il servizio Redis
2. Eliminare i file relativi a redis nella directory /usr/local/lib
3. Comandi relativi alla chiave Redis
chiavi*
Visualizza tutte le chiavi nella libreria corrente
esiste la chiave
Determina se esiste una determinata chiave
tipo chiave
Controlla di che tipo è la tua chiave
del tasto
Elimina i dati chiave specificati
chiave di scollegamento
Seleziona l'eliminazione non bloccante in base al valore
Il comando Redis UNLINK è molto simile al comando DEL: utilizzato per eliminare la chiave specificata. Proprio come DEL, se la chiave non esiste, viene ignorata. Tuttavia, questo comando esegue l'effettivo recupero della memoria in un thread esterno al comando, quindi non blocca, mentre DEL lo è. Da qui deriva il nome del comando: il comando UNLINK disconnette semplicemente una chiave dal keyspace. L'eliminazione effettiva avverrà in modo asincrono in un secondo momento.
scadenza chiave 10
10 secondi, imposta il tempo di scadenza per la chiave specificata
tasto ttl
Controlla quanti secondi mancano alla scadenza: -1 significa che non scadrà mai e -2 significa che è scaduto.
seleziona 0
Cambia banca dati
dimensione
Visualizza il numero di chiavi nel database corrente
flushdb
Cancella la libreria corrente
flushall
Uccidi tutte le biblioteche
4. Tipo di dati Redis
Cinque tipi di dati di base
corda
introduzione
La stringa è il tipo più semplice di Redis e una chiave corrisponde a un valore. Il tipo String è sicuro a livello binario. Significa che la stringa Redis può contenere qualsiasi dato. Ad esempio, immagini jpg o oggetti serializzati. Un valore stringa in Redis può arrivare fino a 512 M.
Comandi comuni
impostare il valore chiave NX
NX: quando la chiave non esiste nel database, è possibile aggiungere il valore-chiave al database XX: quando la chiave esiste nel database, il valore-chiave può essere aggiunto al database, il che si esclude a vicenda con i parametri NX. EX: secondi di timeout chiave PX: timeout chiave in millisecondi, mutuamente esclusivi con EX
Aggiungi coppie chiave-valore
prendi la chiave
Interrogare il valore chiave corrispondente
aggiungi il valore chiave
Aggiunge il valore specificato alla fine del valore originale
tasto strlen
Ottieni la lunghezza del valore
valore chiave setnx
Imposta il valore della chiave solo se la chiave non esiste
tasto Incr
Aumenta di 1 il valore numerico memorizzato nella chiave
tasto dec
Decrementa di 1 il valore numerico memorizzato nella chiave
Può operare solo su valori numerici. Se è vuoto, il nuovo valore sarà 1 o -1.
dimensione del passo del tasto incrby/decrby
Aumenta o diminuisce il valore numerico memorizzato nella chiave. Dimensioni del passo personalizzate
mset chiave1 valore1 chiave2 valore2
Imposta una o più coppie chiave-valore contemporaneamente
mget chiave1 chiave2
Ottieni uno o più valori contemporaneamente
msetnx chiave1 valore1 chiave2 valore2
Atomicità, se ne fallisce uno, falliscono tutti.
Imposta una o più coppie chiave-valore contemporaneamente se e solo se tutte le chiavi fornite non esistono
getrange chiave posizione iniziale posizione finale
Ottieni l'intervallo di valori, simile alla sottostringa in Java, pacchetto anteriore, pacchetto posteriore
impostare il valore della posizione iniziale della chiave
Sovrascrivi il valore della stringa memorizzato nella chiave con valore, partendo dalla posizione iniziale (l'indice inizia da 0)
valore del tempo di scadenza della chiave setex
Quando si imposta il valore della chiave, impostare il tempo di scadenza in secondi.
getset valore chiave
Sostituisci il vecchio con il nuovo, imposta un nuovo valore e ottieni il vecchio valore allo stesso tempo
struttura dati
La struttura dati di String è Simple Dynamic String (SDS).
elenco
introduzione
Chiave singola con valori multipli, ordinati in ordine di inserimento, è possibile aggiungere un elemento alla testa (a sinistra) o alla coda (a destra) dell'elenco.
Comandi comuni
Tasto lpush / rpush valore1 valore2
Inserisci uno o più valori da sinistra/destra
lpop/rpop
Sputa un valore da sinistra/destra. Il valore è nella chiave e il valore è nella chiave.
rpoplpremere il tasto1 tasto2
sputa un valore dal lato destro dell'elenco key1 e inseriscilo sul lato sinistro dell'elenco key2
lrange tasto start stop
Lrange età 0 -1, significa ottenere tutto
Ottieni gli elementi in base al pedice dell'indice (da sinistra a destra)
indice della chiave lindex
Ottieni gli elementi in base al pedice dell'indice (da sinistra a destra)
chiave inglese
Ottieni la lunghezza dell'elenco
linserisci la chiave prima del valore nuovovalore
Inserisci il valore di newvalue davanti a value
Valore n della chiave lrem
Elimina n valori da sinistra (da sinistra a destra)
limposta il valore dell'indice della chiave
Sostituisci il valore il cui pedice è indice nella chiave dell'elenco con valore
struttura dati
① La struttura dei dati di List è quickList. ② Innanzitutto, quando gli elementi dell'elenco sono piccoli, verrà utilizzata una memoria continua. Questa struttura è ziplist, che è un elenco compresso. ③ Quando la quantità di dati è relativamente grande, verrà modificata in Quicklist.
impostato
introduzione
La deduplicazione automatica e Set sono raccolte non ordinate di tipo stringa. Il livello inferiore è una tabella hash con un valore vuoto. La complessità di aggiunta, eliminazione e query è O(1).
Comandi comuni
valore chiave triste1 valore2
Aggiungi uno o più elementi membro alla chiave della raccolta. Gli elementi membro esistenti verranno ignorati.
chiave dei membri
Ottieni tutti i valori dal set
valore chiave sismember
Determina se la chiave impostata contiene il valore, c'è 1, non c'è 0
chiave della scarta
Restituisce il numero di elementi nella raccolta
età srem valore1 valore2
Elimina un elemento dalla raccolta
tasto spo
sputare un valore casuale dalla raccolta
Chiave membro n
Prendi n valori casualmente da questo insieme. non verrà rimosso dalla raccolta
sposta il valore di destinazione della sorgente
Sposta un valore in una raccolta da una raccolta all'altra
sinterizzazione chiave1 chiave2
Restituisce l'elemento di intersezione di due raccolte
sunion chiave1 chiave2
Restituisce gli elementi di unione di due raccolte
sdiff tasto1 tasto2
Restituisce gli elementi di differenza dei due insiemi (quelli in key1, esclusi quelli in key2)
struttura dati
① La struttura dei dati Set è un dizionario dict e il dizionario viene implementato utilizzando una tabella hash. ② L'implementazione interna di HashSet in Java utilizza HashMap, ma tutti i valori puntano allo stesso oggetto. Lo stesso vale per la struttura impostata di Redis. Anch'essa utilizza internamente una struttura hash e tutti i valori puntano allo stesso valore interno.
hash
introduzione
L'hash Redis è una raccolta di coppie chiave-valore, una tabella di mappatura di campi e valori di tipo stringa è particolarmente adatta per archiviare oggetti.
Comandi comuni
valore del campo chiave hset
Assegnare valore alla chiave del campo nella raccolta chiavi
hget campo chiave
Ottieni valore dal campo di raccolta key1
hmset chiave1 campo1 valore1 campo2 valore2
Imposta i valori hash in batch
campo chiave hexists
Controlla se il campo specificato esiste nella chiave della tabella hash
tasto hkeys
Elenca tutti i campi di questo set di hash
chiave hvals
Elenca tutti i valori del set di hash
incremento del campo chiave hincrby
Aggiungere l'incremento 1 -1 al valore del campo campo nella chiave della tabella hash
valore del campo chiave hsetnx
Imposta il valore del campo campo nella chiave della tabella hash su valore se e solo se campo campo non esiste
struttura dati
Esistono due strutture dati corrispondenti al tipo Hash: ziplist (elenco compresso) e hashtable (tabella hash). Quando la lunghezza del valore del campo è breve e il numero è piccolo, utilizzare ziplist, altrimenti utilizzare hashtable
zset (insieme ordinato)
introduzione
zset è molto simile a un insieme ordinario. È una raccolta di stringhe senza elementi ripetuti. La differenza è che a ciascun membro dell'insieme ordinato è associato un punteggio. Questo punteggio viene utilizzato per ordinare i membri del stabilito dal punteggio più alto. I membri del set sono unici, ma le partiture possono essere ripetute
Comandi comuni
chiave zadd punteggio1 valore1 punteggio2 valore2
Aggiungi uno o più elementi membro e i relativi valori di punteggio alla chiave del set ordinato
tasto zrange inizio arresto [WITHSCORES]
Restituisce gli elementi nella chiave dell'insieme ordinato i cui pedici sono compresi tra inizio e fine. Con WITHSCORES, i punteggi e i valori possono essere restituiti al set di risultati.
Tasto zrangebyscore min max
Restituisce tutti i membri della chiave dell'insieme ordinato il cui valore del punteggio è compreso tra min e max (incluso uguale a min o max). I membri dell'insieme ordinato sono disposti in ordine crescente di valore del punteggio (dal piccolo al grande)
chiave zrevrangebyscore max min
Cambia per ordinare dal più grande al più piccolo
valore di incremento della chiave zincrby
Aggiungi un incremento al punteggio dell'elemento
valore chiave zrem
Elimina l'elemento con il valore specificato nella raccolta
Tasto zcount min max
Contare l'insieme, il numero di elementi nell'intervallo della frazione
valore chiave zrank
Restituisce il rango del valore nell'insieme, a partire da 0
struttura dati
Hash, la funzione dell'hash è quella di associare il valore dell'elemento e il punteggio del peso per garantire l'unicità del valore dell'elemento. Il valore del punteggio corrispondente può essere trovato tramite il valore dell'elemento.
Jump list Lo scopo della jump list è ordinare i valori degli elementi e ottenere l'elenco degli elementi in base all'intervallo del punteggio.
Tre tipi di dati avanzati
Bitmap
Bitmap in sé non è un tipo di dati, infatti è una stringa (valore-chiave), ma può operare sui bit della stringa.
HyperLogLog
Redis HyperLogLog è un algoritmo utilizzato per le statistiche sulla cardinalità. Il vantaggio di HyperLogLog è che quando il numero o il volume degli elementi di input è molto grande, lo spazio richiesto per calcolare la cardinalità è sempre fisso e molto piccolo.
Geospaziale
GEO: Geographic, abbreviazione di informazione geografica. Questo tipo sono le coordinate bidimensionali dell'elemento, ovvero la latitudine e la longitudine sulla mappa. Sulla base di questo tipo, redis fornisce operazioni comuni come l'impostazione di longitudine e latitudine, query, query di intervallo, query di distanza, hash di longitudine e latitudine, ecc.
5. File di configurazione Redis
Configurazione relativa alla rete
legamento
Per impostazione predefinita, bind=127.0.0.1 può accettare solo richieste di accesso da questa macchina.
modalità protetta
Impostare la modalità di protezione dell'accesso locale su no
porta
Porta, predefinita 6379
tempo scaduto
Quanti secondi sono necessari per spegnere un client inattivo, 0 significa disattivare questa funzione. cioè non chiudere mai
tcp-keepalive
L'unità è di secondi. Se impostato su 0, il rilevamento Keepalive non verrà eseguito. Si consiglia di impostarlo su 60.
Un rilevamento del battito cardiaco per l'accesso ai client, una volta ogni n secondi
GENERALEgenerale
demonizzare
Se si tratta di un processo in background (daemon), impostare su sì
pidfile
La posizione in cui è archiviato il file pid. Ogni istanza genererà un file pid diverso.
loglevel
Per l'ambiente di produzione, scegliere avviso o avviso.
Specificare il livello di registrazione Redis supporta un totale di quattro livelli: debug, dettagliato, avviso e avviso.
logfile
Nome del file di registro
banche dati 16
Imposta il numero di librerie Il valore predefinito è 16. Il database predefinito è 0. È possibile utilizzare il comando SELECT <dbid> per specificare l'ID del database sulla connessione.
SICUREZZASicurezza
impostare la password
LIMITIlimiti
maxclients
Imposta il numero di client Redis a cui può connettersi contemporaneamente
L'impostazione predefinita è 10.000 client
Se questo limite viene raggiunto, Redis rifiuterà nuove richieste di connessione e risponderà con "numero massimo di client raggiunto" a questi richiedenti di connessione.
maxmemory
politica-maxmemory
campioni-maxmemory
6. Pubblica e iscriviti
Cosa sono la pubblicazione e l'iscrizione?
La pubblicazione e la sottoscrizione di Redis (pub/sub) è un modello di comunicazione dei messaggi: il mittente (pub) invia messaggi e gli abbonati (sub) ricevono messaggi.
Il cliente si iscrive al canale
Quando un messaggio viene pubblicato su questo canale, il messaggio verrà inviato al client iscritto
Implementazione del comando
Apri un client per iscriverti al canale 1
iscriviti al canale 1
Apri un altro client e pubblica il messaggio ciao sul canale1
pubblica canale1 ciao
Il 2 restituito è il numero di abbonamenti
7. Transazioni Redis
1. Definizione
Una transazione Redis è una singola operazione isolata: tutti i comandi nella transazione vengono serializzati ed eseguiti in ordine. Durante l'esecuzione della transazione, questa non verrà interrotta dalle richieste di comando inviate da altri client.
La funzione principale delle transazioni Redis è connettere più comandi in serie per evitare che altri comandi saltino in coda.
2. Multi, Esegui, scarta
① A partire dall'immissione del comando Multi, i comandi immessi verranno inseriti nella coda dei comandi in sequenza, ma non verranno eseguiti fino all'immissione di Exec e Redis eseguirà in sequenza i comandi nella coda dei comandi precedente. ② Durante il processo di formazione della squadra, puoi abbandonare la formazione della squadra scartandola.
Formazione della squadra riuscita, presentazione riuscita
È stato segnalato un errore durante la fase di formazione della squadra e l'invio non è riuscito.
La formazione della squadra ha avuto successo e la presentazione ha avuto successo o ha fallito.
3. Gestione degli errori di transazione
Se un comando in coda segnala un errore, tutte le code verranno cancellate durante l'esecuzione.
Se viene segnalato un errore per un comando durante la fase di esecuzione, solo il comando che ha segnalato l'errore non verrà eseguito e gli altri comandi verranno eseguiti senza rollback.
4. Tre caratteristiche delle transazioni Redis
operazioni di quarantena separate
Tutti i comandi in una transazione vengono serializzati ed eseguiti in sequenza. Durante l'esecuzione della transazione, questa non verrà interrotta dalle richieste di comando inviate da altri client.
Nessun concetto di livello di isolamento
I comandi in coda non verranno effettivamente eseguiti finché non verranno inviati, poiché nessuna istruzione verrà effettivamente eseguita prima dell'invio della transazione.
Nessuna garanzia di atomicità
Se un comando nella transazione non viene eseguito, i comandi successivi verranno comunque eseguiti senza rollback.
8. Persistenza di Redis
RDB (data base Redis)
Che cos'è?
Scrive sul disco uno snapshot del set di dati presente in memoria entro un intervallo di tempo specificato, chiamato anche Snapshot in gergo. Quando viene ripristinato, il file dello snapshot viene letto direttamente in memoria.
Come viene eseguito il backup
Redis creerà (fork) un processo figlio separatamente per la persistenza. Per prima cosa scriverà i dati in un file temporaneo Una volta completato il processo di persistenza, questo file temporaneo verrà utilizzato per sostituire l'ultimo file persistente. Durante l'intero processo, il processo principale non esegue alcuna operazione IO, il che garantisce prestazioni estremamente elevate Se è necessario un ripristino dei dati su larga scala e l'integrità del ripristino dei dati non è molto sensibile, il metodo RDB è più efficiente del metodo AOF. .di alta efficienza. Lo svantaggio di RDB è che i dati dopo l'ultima persistenza potrebbero andare persi.
Forchetta
La funzione di Fork è copiare un processo uguale al processo corrente. Tutti i dati (variabili, variabili d'ambiente, contatore del programma, ecc.) del nuovo processo hanno gli stessi valori del processo originale, ma è un processo completamente nuovo e funge da processo figlio del processo originale.
In un programma Linux, fork() genererà un processo figlio che è esattamente lo stesso del processo genitore, ma il processo figlio spesso effettuerà successivamente chiamate di sistema exec. Per ragioni di efficienza, Linux ha introdotto la "tecnologia copy-on-write".
Generalmente, il processo genitore e il processo figlio condivideranno lo stesso segmento di memoria fisica. Solo quando il contenuto di ciascun segmento nello spazio del processo cambia, il contenuto del processo genitore verrà copiato nel processo figlio.
file dump.rdb
Configura il nome del file in redis.conf, il valore predefinito è dump.rdb
Vantaggio
Adatto per il recupero dati su larga scala
È più adatto da utilizzare se i requisiti di integrità e coerenza dei dati non sono elevati.
Risparmia spazio su disco
Recupero veloce
insufficiente
Viene eseguito un backup a un determinato intervallo durante il ciclo di backup, quindi se Redis si arresta in modo imprevisto, tutte le modifiche successive all'ultimo snapshot andranno perse.
Riassumere
AOF (Aggiungi solo file)
Che cos'è?
Registra ogni operazione di scrittura sotto forma di registro (salvataggio incrementale), registra tutte le istruzioni di scrittura eseguite da Redis (le operazioni di lettura non vengono registrate), aggiungi solo file ma non può riscrivere file, redis leggerà all'inizio. Questo file ricostruisce i dati. In altre parole, al riavvio di Redis, le istruzioni di scrittura verranno eseguite dalla parte anteriore a quella posteriore in base al contenuto del file di registro per completare il lavoro di ripristino dei dati.
Processo di persistenza AOF
AOF non è abilitato per impostazione predefinita
AOF e RDB sono abilitati contemporaneamente, chi ascolta Redis?
AOF e RDB sono abilitati contemporaneamente e il sistema accetta i dati AOF per impostazione predefinita (i dati non verranno persi)
Vantaggio
Il meccanismo di backup è più robusto e la probabilità di perdita di dati è inferiore
insufficiente
Occupa più spazio su disco rispetto a RDB
Il ripristino dei backup è più lento.
Riassumere