Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Una base de datos relacional es una base de datos estructurada, creada en una base de datos de modelo relacional y orientada a registros.
Bases de datos relacionales comunes: Oracle, MySQL, SQL Server, Microsoft Access, DB2.
NOSQL=Not Only SQL es el término general para bases de datos no relacionales. Dependiendo del método de almacenamiento, la estructura de almacenamiento y los escenarios de uso, se denomina base de datos no relacional. Las bases de datos distintas de las bases de datos relacionales convencionales pueden denominarse bases de datos no relacionales.
Bases de datos no relacionales comunes: Redis, MongoDB, Hbase, CouhDB.
Redis es una base de datos Nosql de código abierto escrita en lenguaje C. Se ejecuta en función de la memoria y admite la persistencia. Adopta un formato de almacenamiento clave-valor (par clave-valor). Su número de puerto es 6379.
1. Instalar Redis
[root@localhost ~]# systemctl detiene firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install gcc* zlib-devel
[raíz@localhost ~]#tar xvzf redis-4.0.9.tar.gz
[raíz@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# hacer
Aviso:
Se generará un mensaje de error después de realizar la operación.
solución:
Solución 1: use make MALLOC=libc para especificar el asignador de memoria para compilar para libc
Solución 2: limpiar y limpiar
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost utilidades]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utilidades/
Entre ellos: install_server.sh es el script de inicialización
[root@localhost utilidades]# ./install_server.sh
Seleccione la ruta del ejecutable redis [] /usr/local/redis/bin/redis-server(proporcione la ruta ejecutable)
Ver control de procesos y servicios
[root@localhost utilidades]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* ESCUCHAR 5360/redis-server 1
[root@localhost utilidades]# /etc/init.d/redis_6379 detener(redis está cerrado)
[root@localhost utilidades]# /etc/init.d/redis_6379 inicio(en)
[root@localhost utilidades]# /etc/init.d/redis_6379 estado (estado)
Modificación de parámetros de configuración.
[root@localhost ~]#vim /etc/redis/6379.conf
enlazar 127.0.0.1 192.168.10.101//Dirección del host de escucha
puerto 6379 //puerto
demonizar sí //Habilitar proceso demonio
archivo pid /var/run/redis_6379.pid //Especificar archivo PID
Aviso de nivel de registro//nivel de registro
archivo de registro /var/log/redis_6379.log//Especificar archivo de registro
[root@localhost~]#/etc/init.d/redis_6379 reiniciar
2.herramienta de comando redis
[root@localhost utilidades]# redis-cli(Inicio de sesión local)
[root@localhost utilidades]# redis-cli -h 192.168.10.101 -p 6379(inicio de sesión remoto)
192.168.10.101:6379> silbido(El servicio de detección funciona con normalidad)
APESTAR
3: herramienta de prueba de referencia de redis
redis-benchmark es la herramienta oficial de prueba de rendimiento de Redis que puede probar eficazmente el rendimiento de los servicios de Redis.
(1) Rendimiento de la solicitud de prueba
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000
Observación:
-h: especifica el nombre del host del servidor;
-p: especifica el puerto del servidor;
-c: especifica el número de conexiones simultáneas;
-n: especifica el número de solicitudes;
(2) Probar el rendimiento del acceso
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Observación:
-h: especifica el nombre del host del servidor;
-p: especifica el puerto del servidor;
-d: especifica el tamaño de datos del valor SET/GET en bytes;
-q: Fuerza el cierre de redis. Solo se muestran los valores de consulta/seg;
establecer almacena el formato del comando de datos establecer el valor de la clave
obtener Obtener formato de comando de datos obtener clave
1. Agregue pares clave-valor
127.0.0.1:6379> conjunto 1 1
DE ACUERDO
127.0.0.1:6379> conjunto 2 2
DE ACUERDO
127.0.0.1:6379> conjunto 3 3
DE ACUERDO
2. Ver todos los valores en la base de datos.
127.0.0.1:6379> teclas *
1) "3"
2) "1"
3) "2"
3. Ver datos que comienzan con v en la base de datos.
127.0.0.1:6379>LLAVES v*
4. Ver cualquier dato que comience con v en la base de datos.
127.0.0.1:6379>LLAVES v?
5.Ver la base de datos actual con en comienzoLo siguiente contiene dos dígitos cualesquiera de datos.
127.0.0.1:6379>LLAVES v??
Determinar si el valor existe.
127.0.0.1:6379>existe f5Determinar si existe f5
(entero) 1 El resultado es 1, lo que indica que la tecla f5 existe.
como
(entero) 0 El resultado es 0, lo que indica que la tecla f5 no existe
del El comando puede eliminar el especificado. llave
127.0.0.1:6379> del v5 Eliminar v5 en la base de datos
(entero) 1
127.0.0.1:6379>obtener v5
(nulo)
usar tipo El comando se puede obtener. llave correspondiente valor tipo de valor
127.0.0.1:6379>tipo k1
cadena
Observación:
Tipos de datos soportados por redis
rebautizar El comando es para un existente. llave rebautizar
En uso real, se recomienda utilizar existe Comando para ver el objetivo llave existe y luego decide si ejecutar rebautizar comando para evitar sobrescribir datos importantes.
127.0.0.1:6379>cambiar nombre v22 v2 Cambiar el nombre de v22 a v2
DE ACUERDO
renacimiento La función del comando es modificar el existente. llave Realice un cambio de nombre y verifique si existe el nuevo nombre.
usarrenacimiento Cuando se cambia el nombre del comando, si el objetivo llave Si existe, no se le cambiará el nombre.
tamaño de la base de datos El propósito del comando es ver la base de datos actual. llave Número de.
127.0.0.1:6379> tamaño de la base de datos
(entero) 5
Redis Incluido por defecto sin ningún cambio. 16 base de datos, el nombre de la base de datos es un número 0-15 ser nombrado en orden
(1)Cambiar al número de serie 10 base de datos
127.0.0.1:6379>Seleccione 10
DE ACUERDO
(2)Cambiar al número de serie 15 base de datos
127.0.0.1:6379[10]>Seleccione 15
DE ACUERDO
(3)Cambiar al número de serie 0 base de datos
127.0.0.1:6379[15]>seleccionar 0
127.0.0.1:6379>Conjunto k1 100 Crear k1 en la base de datos 0
DE ACUERDO
127.0.0.1:6379>obtener k1
"100"
127.0.0.1:6379>mover k1 1 //Mueve k1 de la base de datos 0 a la base de datos 1
(entero) 1
127.0.0.1:6379>Seleccione 1 //Cambiar a la base de datos de destino 1
DE ACUERDO
127.0.0.1:6379[1]>obtener k1 //Ver datos movidos
"100"
127.0.0.1:6379[1]> seleccionar 0
DE ACUERDO
127.0.0.1:6379> obtener k1 //El valor de k1 no se puede ver en la base de datos 0
(nulo)
Para borrar los datos de la base de datos actual, utilice Descarga HDB
Implementación del comando; borre todos los datos de la base de datos, use DESCARGAR Implementación de comandos.
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 ReidasVolcado programado de registros de bases de datos en memoria (vertedero)al disco Banco de Desarrollo Regional persistencia), el otro es Año Nuevo(Sólo añadir archivo)Persistencia (el principio es Reidas El registro de operaciones se escribe en el archivo adjunto).
La diferencia entre RDB y AOF
ROB escribe la instantánea de datos en el disco dentro del intervalo de tiempo especificado. Es un subproceso de fork. Primero escribe los datos en una carpeta temporal, luego reemplazará el archivo anterior y lo almacenará con compresión binaria.
AOF registra cada operación de escritura y eliminación del servidor en forma de registro. Las operaciones de consulta no se registrarán, pero se registrarán en forma de texto.
Ventajas y desventajas de RDB y AOF
Ventajas del 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.
La recuperación de datos es rápida.
Maximizar el rendimiento
Alta eficiencia de arranque
Banco de Desarrollo Regionaldefecto:
Los datos que no se guardaron antes del apagado se perderán.
RDB se completa a través del proceso hijo de bifurcación, consumiendo recursos.
Ventajas del AOF:
La durabilidad de los datos es alta
En el modo de agregar, el contenido del archivo de registro no se destruirá incluso si hay un tiempo de inactividad.
El mecanismo de reescritura se puede iniciar para proteger la seguridad de los datos.
Desventajas del AOF:
La velocidad de recuperación de datos de AOF es lenta
La eficiencia operativa del AOF es baja
Criterios para elegir entre los dos:
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 redies necesita cargar un archivo de persistencia después de reiniciar,prioridadSe 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 sincrónica, cada vez que los datos cambian, se escribirán en el disco inmediatamente ## línea 702
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
192.168.9.236:7001> memoria de información
memoria usada:1210776 Tamaño de la memoria utilizada, en bytes
memoria_usada_humana:1.15MMostrado con unidades, en M
memoria usada rss:7802880¿Cuánta memoria ocupa Redis desde la perspectiva del sistema operativo?
memoria usada rss humana:7,44MMostrar con unidades
memoria máxima:1073741824Tamaño máximo de memoria
memoria_máxima_humana:1.00G Mostrar con unidades
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:Eliminar según el tiempo de vencimiento de la clave
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)
Establecer el tiempo de vencimiento de la clave
127.0.0.1:6379>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