Questa guida esaminerà la lunghezza della chiave e il suo impatto su Redis.
Lunghezza della chiave di Redis
Le chiavi Redis sono sicure binarie. Ciò significa che qualsiasi sequenza binaria può fungere da chiave. Può essere qualsiasi cosa - una stringa, contenuto di un file JPEG e altro ancora. Una stringa vuota è anche una chiave valida.
Tuttavia, c'è un limite alla dimensione del tasto massimo (512 MB). Lo stesso vale per la dimensione del valore (512 MB di qualsiasi tipo di dati).
La lunghezza della chiave corretta dipende dal contesto. Nella maggior parte dei casi, tuttavia, le chiavi troppo lunghe o brevi sono meglio evitate.
Contro di tasti lunghi
Se stai impostando una chiave molto lunga, viene fornito con i costi delle prestazioni. Cercare la chiave nel database Redis può richiedere diversi confronti chiave. Nell'efficienza della memoria, i tasti lunghi sono piuttosto inefficienti.
Se devi usare le chiavi lunghe, considera di averli abiliti con buoni algoritmi, come Sha1, Sha256, ecc. In cambio di un po 'più di potenza di elaborazione, il carico sulla memoria è significativamente ridotto, per non parlare della prestazione di sollevamento delle prestazioni.
Ad esempio, una chiave da 1024 byte comporterà meno prestazioni e un consumo di memoria più elevato. Se viene hash usando SHA256, la dimensione è ridotta a 256 bit (32 byte) mantenendo una posizione unica nel server Redis.
Contro delle chiavi brevi
L'altro lato dello spettro sta usando tasti concisi. Dall'esempio precedente, l'accorciamento della lunghezza della chiave è preferibile per i benefici delle prestazioni e l'efficienza delle risorse. Tuttavia, sacrificare la chiarezza per il leggero sollevamento delle prestazioni spesso non ne vale la pena.
Rompilo con un esempio. Considera la chiave U5000F come una forma abbreviata di Utente: 5000: follower. Mentre U5000F è l'opzione migliore per le prestazioni, fa un'opzione terribile se implementata nel codice.
Per cominciare, il nome chiave è abbastanza poco intuitivo. Inoltre non ha una chiara indicazione di quale sia il suo scopo. È il seme perfetto per il disastro lungo la linea. Man mano che la base di codice diventa più grande, i codici confusi diventano più difficili da mantenere. Invece, usando Utente: 5000: follower offre un ottimo equilibrio tra prestazioni e comodità.
Cosa succede se Redis si esaurisce la memoria
Redis può gestire un gran numero di chiavi. È progettato per gestire fino a 2^32 tasti! Secondo le FAQ di Redis, il software è testato dallo stress con 250 milioni di chiavi. In altre parole, hai maggiori probabilità di esaurire la memoria del sistema prima di colpire il limite di Redis.
Tuttavia, cosa succede quando Redis raggiunge la massima capacità di memoria? Redis viene fornito con protezioni integrate, come limitare l'utilizzo di memoria massimo con l'aiuto della direttiva MaxMemory nel file di configurazione Redis.
$ sudo nano/etc/Redis/Redis.conf
Se Redis raggiunge il limite di memoria, restituisce un errore a nuovi comandi di scrittura. Tuttavia, risponderà comunque normalmente a leggere i comandi.
Conclusione
In questa guida, abbiamo discusso della lunghezza della chiave massima che Redis accetta. Abbiamo anche discusso della politica di gestione quando Redis supera il limite di memoria assegnato. Con questa conoscenza, puoi decidere come implementare Redis nelle tue applicazioni e script.
A proposito di sceneggiature, scopri di più sull'incorporazione di Redis con Lua, Golang, Ruby, ecc. Bisogno di personalizzare il comportamento di Redis? Ulteriori informazioni sul file di configurazione Redis.