le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1.Prestazioni
Redis: utilizza solo un singolo core In media, Redis ha prestazioni più elevate di Memcached quando archivia piccoli dati su ciascun core.
Memcached: puoi utilizzare più core e, con dati superiori a 100k, le prestazioni di Memcached sono superiori a quelle di Redis.
2. Efficienza nell'utilizzo della memoria
MemCached: utilizzando un semplice archivio di valori-chiave, Memcached ha un utilizzo della memoria più elevato.
Redis: se viene utilizzata una struttura hash per l'archiviazione di valori-chiave, il suo utilizzo della memoria sarà maggiore rispetto a Memcached a causa della sua compressione combinata.
3. Spazio di memoria e dimensione dei dati
MemCached: la memoria massima può essere modificata utilizzando l'algoritmo LRU. La dimensione di un singolo valore-chiave in Memcached è limitata e un valore supporta solo un massimo di 1 MB.
Redis: aggiunge funzionalità VM e supera i limiti della memoria fisica. Redis supporta una dimensione massima di un singolo valore-chiave di 512 MB.
4.Supporto della struttura dei dati
MemCached: struttura dati singola, utilizzata solo per memorizzare nella cache i dati.
Redis: supporta tipi di dati più ricchi Redis non solo supporta semplici dati di tipo k/v, ma fornisce anche l'archiviazione di strutture di dati come list, set, zset e hash.
È possibile eseguire operazioni avanzate sui dati direttamente sul lato server, riducendo i tempi di I/O della rete e il volume dei dati.
5.Affidabilità
Memcached: è solo una cache di memoria con bassi requisiti di affidabilità. MemCached non supporta la persistenza dei dati I dati scompaiono dopo un'interruzione di corrente o un riavvio, ma la stabilità è garantita.
Redis: ha requisiti di affidabilità elevati, supporta la persistenza e il ripristino dei dati, consente singoli punti di errore e influisce anche su alcune prestazioni. Supporta il backup dei dati, ovvero il backup dei dati in modalità master-slave. Redis supporta la persistenza dei dati e può salvare i dati in memoria su disco e caricarli nuovamente per utilizzarli al riavvio.
6. Scenari applicativi
Memcached: riduce il carico del database e migliora le prestazioni nella cache dei sistemi dinamici, adatto per scenari con più letture, meno scritture e grandi volumi di dati.
Redis: adatto a sistemi che richiedono un'elevata efficienza di lettura e scrittura, attività di elaborazione dati complesse ed elevati requisiti di sicurezza.
1.installazione di Redis
Disattiva prima il firewall
- 先把防火墙关掉
- systemctl stop firewalld
- set setenforce 0
-
- [root@localhost ~]# yum -y install gcc* zlib-devel
- 解压 redis包
- [root@localhost ~]# tar xvzf redis-4.0.9.tar.gz
- [root@localhost ~]# cd redis-4.0.9/
-
- make
- 2:查看进程
- [root@localhost utils]# netstat -anpt | grep redis
-
- 3:redis服务控制
- [root@localhost ~]#/etc/init.d/redis_6379 stop
- [root@localhost ~]#/etc/init.d/redis_6379 start
- [root@localhost ~]#/etc/init.d/redis_6379 restart
- [root@localhost ~]#/etc/init.d/redis_6379 status
- 4.配置参数的修改
- [root@localhost ~]#vim /etc/redis/6379.conf
- bind 127.0.0.1 192.168.10.101 //监听的主机地址
- port 6379 //端口
- daemonize yes //启用守护进程
- pidfile /var/run/redis_6379.pid //指定 PID 文件
- loglevel notice //日志级别
- logfile /var/log/redis_6379.log //指定日志文件
-
- [root@localhost~]#/etc/init.d/redis_6379 restart
- [root@localhost utils]# netstat -anpt | grep redis
-
- 二:Redis 命令工具
- redis-server:用于启动 Redis 的工具;
- redis-benchmark:用于检测 Redis 在本机的运行效率;
- redis-check-aof:修复 AOF 持久化文件;
- redis-check-rdb:修复 RDB 持久化文件;
- redis-cli:Redis 命令行工具。
imposta crea
ottenere la vista
chiavi *vedi tutti
rinomina (sovrascriverà)
renamenx (controlla se c'è lo stesso nome, e poi decidi se eseguire il comando rename,)
del (il comando può eliminare la chiave specificata del database corrente)
esiste (il comando può determinare se il valore della chiave esiste)
type (usa il comando type per ottenere il tipo di valore corrispondente alla chiave)
seleziona (cambia database)
spostare (spostare i dati)
flushdb (cancella i dati del database corrente)
flushall (cancella tutti i dati del database)
- -p:指定服务器端口;
- -s:指定服务器 socket;
- -c:指定并发连接数;
- -n:指定请求数;
- -d:以字节的形式指定 SET/GET 值的数据大小;
- -k:1=keep alive 0=reconnect;
- -r:SET/GET/INCR 使用随机 key, SADD 使用随机值;
- -P:通过管道传输<numreq>请求;
- -q:强制退出 redis。仅显示 query/sec 值;
- --csv:以 CSV 格式输出;
- -l:生成循环,永久执行测试;
- -t:仅运行以逗号分隔的测试命令列表;
- -I:Idle 模式。仅打开 N 个 idle 连接并等待。
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 ReidiTempi di registrazione del database in memoria scarico su disco RDB persistenza), l'altro lo è AOF(aggiungi 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.
2. Cos'è l'AOF?
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.
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
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
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:
100Si riferisceadiIl rapporto di crescita del file 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:secondochiavescadenza per l'eliminazione
Ø 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
config set 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> auth 123456
[root@localhost bin]# ./redis-cli -a 123456 shutdown
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