Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1.Rendimiento
Redis: solo utiliza un único núcleo. En promedio, Redis tiene un rendimiento mayor que Memcached cuando almacena datos pequeños en cada núcleo.
Memcached: puede utilizar varios núcleos y, en datos de más de 100 000, el rendimiento de Memcached es superior al de Redis.
2. Eficiencia en el uso de la memoria
MemCached: al utilizar un almacenamiento clave-valor simple, Memcached tiene una mayor utilización de la memoria.
Redis: si se utiliza una estructura hash para el almacenamiento de valores clave, su utilización de memoria será mayor que la de Memcached debido a su compresión combinada.
3. Espacio de memoria y tamaño de datos
MemCached: La memoria máxima se puede modificar mediante el algoritmo LRU. El tamaño de una única clave-valor en Memcached es limitado y un valor solo admite un máximo de 1 MB.
Redis: agrega funciones de VM y supera las limitaciones de la memoria física. Redis admite un tamaño máximo de valor-clave único de 512 MB.
4.Soporte de estructura de datos
MemCached: estructura de datos única, utilizada solo para almacenar datos en caché.
Redis: admite tipos de datos más ricos. Redis no solo admite datos de tipo k/v simples, sino que también proporciona almacenamiento de estructuras de datos como list, set, zset y hash.
Se pueden realizar operaciones enriquecidas con datos directamente en el lado del servidor, lo que puede reducir los tiempos de E/S de la red y el volumen de datos.
5.Fiabilidad
Memcached: es solo una memoria caché con bajos requisitos de confiabilidad. MemCached no admite la persistencia de datos. Los datos desaparecen después de un corte de energía o un reinicio, pero la estabilidad está garantizada.
Redis: tiene requisitos de alta confiabilidad, admite la persistencia y recuperación de datos, permite puntos únicos de falla y también afecta parte del rendimiento. Admite copia de seguridad de datos, es decir, copia de seguridad de datos en modo maestro-esclavo. Redis admite la persistencia de datos. Puede guardar datos en la memoria en el disco y cargarlos nuevamente para usarlos al reiniciar.
6. Escenarios de aplicación
Memcached: reduce la carga de la base de datos y mejora el rendimiento en el caché del sistema dinámico, adecuado para escenarios de más lectura, menos escritura y grandes volúmenes de datos;
Redis: adecuado para sistemas que requieren alta eficiencia de lectura y escritura, negocios de procesamiento de datos complejos y altos requisitos de seguridad.
1.instalación de redis
Primero apague el 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 命令行工具。
establecer crear
obtener vista
claves * ver todo
cambiar el nombre (se sobrescribirá)
renamex (verifique si existe el mismo nombre y luego decida si ejecutar el comando de cambio de nombre)
del (el comando puede eliminar la clave especificada de la base de datos actual)
existe (el comando puede determinar si el valor clave existe)
tipo (use el comando tipo para obtener el tipo de valor correspondiente a la clave)
seleccionar (cambiar base de datos)
mover (mover datos)
flushdb (borrar datos de la base de datos actual)
flusall (borrar todos los datos de la base de datos)
- -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 连接并等待。
Redis Todos los datos se almacenan en la memoria y luego se guardan de forma asincrónica en el disco de vez en cuando.(Se llama“Modo semipersistente”); También puedes escribir cada cambio de datos en un añadir solo archivo (aof)en(Se llama“Modo de persistencia total”)。
porque Redis Todos los datos se almacenan en la memoria. Si la persistencia no está configurada,Redis Después de reiniciar, se pierden todos los datos.Por lo tanto, es necesario habilitarRedis La función de persistencia guarda datos en el disco. Redis Después de reiniciar, los datos se pueden recuperar del disco.Redis Se proporcionan dos métodos para la persistencia, uno es Banco de Desarrollo Regional(Base de datos Redis) Persistencia (el principio es ReidasTiempo de registro de la base de datos en memoria vertedero al disco Banco de Desarrollo Regional persistencia), el otro es Año Nuevo(añadir solo archivo)Persistencia (el principio es Reidas El registro de operaciones se escribe en el archivo adjunto).
El método predeterminado
La persistencia de RDB es el proceso de generar una instantánea de los datos del proceso actual y guardarla en el disco duro. El proceso de activación de la persistencia de RDB se divide en activación manual y activación automática.
Mecanismo de activación: la activación manual corresponde a los comandos guardar y bgsave respectivamente.
comando guardar: bloquea el servidor Redis actual hasta que se completa el proceso RDB. En casos con una gran cantidad de memoria, provocará un bloqueo de tiempo. No recomendado para su uso en entornos en línea.
Comando bgsave: el proceso de Redis ejecuta la operación fork (función utilizada para crear un proceso) para crear un proceso hijo. El proceso de persistencia RDB es responsable del proceso hijo y finaliza automáticamente una vez completado. El bloqueo sólo ocurre durante la fase de bifurcación.
Ventajas de RDB:
RDB es un archivo binario compacto y comprimido que representa una instantánea de los datos de Redis en un momento determinado. Es muy adecuado para copias de seguridad, copias completas y otros escenarios. Por ejemplo, realice una copia de seguridad de bgsave cada 6 horas y copie el archivo RDB a la máquina remota o al sistema de archivos para la recuperación ante desastres.
Redis carga RDB y recupera datos mucho más rápido que el método AOF.
Desventajas de RDB:
Los datos en modo RDB no pueden lograr persistencia en tiempo real/persistencia de segundo nivel. Porque cada vez que se ejecuta bgsave, se realiza una operación de bifurcación para crear un proceso hijo, lo cual es una operación pesada y el costo de ejecución frecuente es demasiado alto.
Los archivos RDB se guardan en un formato binario específico. Durante la evolución de las versiones de Redis, existen múltiples formatos de versiones de RDB. Existe el problema de que la versión anterior del servicio Redis no es compatible con la nueva versión del formato RDB.
2. ¿Qué es la AOF?
Persistencia de AOF (añadir solo archivo): registre cada comando de escritura en un registro independiente y luego vuelva a ejecutar el comando en el archivo AOF para restaurar los datos al reiniciar. La función principal de AOF es resolver el problema de la persistencia de datos en tiempo real. Ahora es la corriente principal de la persistencia de Redis.
Sacrificar algo de rendimiento a cambio de una mayor coherencia de la caché (Año Nuevo),
Cuando las operaciones de escritura sean frecuentes, no habilite la copia de seguridad a cambio de un mayor rendimiento y espere la operación manual. ahorrar cuando, haga una copia de seguridad nuevamente (Banco de Desarrollo Regional)
Observación:
Si es necesario cargar un archivo persistente después de reiniciar el reinicio, se seleccionarán los archivos AOF.
Si RDB se habilita primero y luego AOF, y RDB persiste primero, AOF sobrescribirá el contenido del archivo RDB.
[root@localhost ~]# vim /etc/redis/6379.conf
Abierto 6379.conf Después del archivo, busque ahorrar, puede ver la información de configuración como se muestra a continuación.
existir Redis Hay tres métodos de sincronización en el archivo de configuración, son:
siempre: persistencia síncrona, cada vez que los datos cambian, se escribirán en el disco inmediatamente
eachsec: recomendado de forma predeterminada, graba de forma asincrónica cada segundo (valor predeterminado)
no: sin sincronización, dejando que el sistema operativo decida cómo sincronizar
Ignore la última instrucción potencialmente problemática
[root@localhost ~]#/etc/init.d/redis_6379 reiniciar
para poder resolver Año Nuevo Si el tamaño del archivo continúa aumentando, los usuarios pueden informar a Redis enviar BGREWRITEAOFOrden.BGREWRITEAOF El comando se eliminará mediante Año Nuevo comandos redundantes en el archivo para anular (volver a escribir)Año Nuevoarchivo, hacer Año Nuevo Mantenga el tamaño del archivo lo más pequeño posible.
127.0.0.1:6379> bgrewriteaof
Se inició la reescritura del archivo adjunto en segundo plano
# Cuando el registro es BGREWRITEAOF,sisin anexar sincronización al reescribirEstablecido en sí, lo que significa que las nuevas operaciones de escritura no se sincronizarán con fsync, sino que solo se almacenarán temporalmente en el búfer. Para evitar conflictos con la operación de E/S del disco, espere hasta que se complete la reescritura antes de escribir. El valor predeterminado en Redis es no
no-appendfsync-on-rewrite no
# Cuando el tamaño del archivo AOF actual es el doble del tamaño del archivo AOF durante la última reescritura del registro, se produce la operación BGREWRITEAOF.
porcentaje de reescritura automática de aof 100
Observación:
100Se refieredeLa tasa de crecimiento del archivo se refiere a la tasa de crecimiento del archivo AOF actual en comparación con la última reescritura.,100es dos veces
#El valor mínimo del archivo AOF actual para ejecutar el comando BGREWRITEAOF para evitar BGREWRITEAOF frecuentes debido al tamaño pequeño del archivo cuando se inicia Reids por primera vez.
reescritura automática de aof tamaño mínimo 64 mb
192.168.9.236:7001> memoria de información
used_memory:1210776 #El tamaño de la memoria utilizada,en bytes
used_memory_human:1.15M # Pantalla con unidad,En m
used_memory_rss:7802880 # ¿Cuánta memoria ocupa Redis desde la perspectiva del sistema operativo?
used_memory_rss_human:7.44M # Pantalla con unidad
maxmemory:1073741824 # Tamaño máximo de memoria
maxmemory_human:1.00G # Pantalla con unidad
política de memoria máxima: Estrategia de reciclaje
Ø volátil-lru: Permite Redis Elija el utilizado menos recientemente de todo el conjunto de datos llave Borrar
Ø TTL volátil:de acuerdo allavetiempo de vencimiento para la eliminación
Ø volátil-aleatorio: seleccione aleatoriamente datos para eliminarlos de la recopilación de datos con un tiempo de vencimiento establecido;
Ø todas las teclas-lru:usar Unidad de Investigación Local (LRU) Los algoritmos eliminan datos de todos los conjuntos de datos;
Ø todas las teclas son aleatorias: Seleccionar datos aleatoriamente para eliminarlos de la recopilación de datos;
Ø No desalojo: Desactiva la eliminación de datos (valor predeterminado)
Observación:
Establecer el tiempo de vencimiento de la clave
caducado v1 10
v1 tiene un tiempo de caducidad de 10 segundos
Observación:
cuando Redis Necesidad de reclamar uno debido a la presión de la memoria. llave hora,Redis La primera consideración es no reciclar los datos más antiguos, sino los datos utilizados menos recientemente. llave o a punto de caducar llave Elija uno al azar de llave, eliminado del conjunto de datos
Busque la palabra clave requirepass, seguida de la contraseña. Está comentada de forma predeterminada, es decir, no se requiere contraseña de forma predeterminada, de la siguiente manera:
Abra el comentario, configúrelo como su propia contraseña y reinicie
Utilice redis-cli para conectarse a redis y ejecutar el siguiente comando
config set requirepass 123456
Una vez completada la ejecución, no es necesario reiniciar. Deberá ingresar su contraseña cuando salga del cliente e inicie sesión nuevamente.
[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 contraseña establecida modificando el archivo de configuración tendrá efecto permanentemente; la contraseña establecida mediante el comando tendrá efecto temporalmente y dejará de ser válida después de reiniciar.
2) La modificación de la contraseña establecida en el archivo de configuración requiere un reinicio para que surta efecto; use la contraseña establecida por el comando para que entre en vigencia después de cerrar sesión e iniciar sesión nuevamente, y dejará de ser válida después de reiniciar.
3) La prioridad del comando es mayor que la prioridad del archivo de configuración