Tutoriales

Habilitar la compresión con Redis

Remote Dictionary Server, o Redis para abreviar, es una base de datos en memoria ultrarrápida que almacena valores en pares clave-valor. Se utiliza principalmente como mecanismo de almacenamiento en caché para bases de datos como SQL y bases de datos de documentos.

Dado que Redis es una base de datos en memoria, el espacio en disco utilizado es fundamental y debe supervisarse de cerca. Una estrategia para mejorar y optimizar el rendimiento del almacenamiento para Redis es usar la compresión.

De forma predeterminada, Redis no proporciona compresión para los datos almacenados. Por lo tanto, las técnicas de compresión se implementan en la aplicación.

Analicemos algunas técnicas que puede usar para optimizar el rendimiento del almacenamiento en Redis.

Implementar un algoritmo de compresión

Dado que Redis no comprime los valores almacenados, debe hacerlo antes de almacenarlos. Existen varios algoritmos de compresión para comprimir cadenas antes de almacenarlas.

Tales algoritmos incluyen:

  1. Compresión LZO – muy rápido y ofrece mayores velocidades de descompresión.
  2. LZ4 – Eficiente en velocidad y muy fácil de integrar en las aplicaciones.
  3. rápido – altas tasas de compresión/descompresión.

Use nombres de clave más cortos

Aunque los desarrolladores deberían preferir nombres más descriptivos a los cortos, el uso de la memoria puede dispararse rápidamente si tiene una gran colección de claves en la base de datos.

Utilice siempre nombres de clave cortos para sus datos de clave-valor para evitar esto.

Ejemplo:

ESTABLECER el valor this_is_a_very_large_key_name

En su lugar, puede utilizar el nombre de la clave:

Esto reduce la cantidad de caracteres que Redis tiene que almacenar para su base de datos.

Comprimir nombres de campo

El mismo caso anterior se puede decir sobre los nombres de campo. Nuevamente, usar un nombre de campo más corto puede ahorrar algunos bytes o kilobytes de espacio en disco.

Por lo tanto, considere usar nombres de campo cortos para sus datos de Redis.

Un ejemplo es como se muestra:

127.0.0.1:6379> ID de información de usuario de HSET 1 Nombre Moes Apellido K País «Estados Unidos de América»

Aquí podemos ahorrar algo de memoria refactorizando los nombres de los campos de la siguiente manera:

ID de información de usuario de HSET 1 Nombre Moes Nombre País EE. UU.

Esto comprime los nombres de campo y los valores.

Use una lista en lugar de un hash

Un hash consta de nombres de campo y valores correspondientes. Si bien esto no es un gran problema, puede volverse problemático cuando entran en juego miles de tipos de hash.

Para resolver esto, puede optar por una lista como se muestra:

ID de información de usuario de HSET 1 Nombre Moes Nombre País EE. UU.

Puede convertir el hash anterior en una lista como esta:

LPUCH [«fname», «Moes», «lname», «K», «country», «US»]

Evite los scripts Lua dinámicos

Para ahorrar aún más memoria, evite usar secuencias de comandos LUA dinámicas que provoquen un crecimiento de la memoria caché. Cuantos más scripts cargue, más memoria usará.

Habilitar compresión de lista

Como se mencionó anteriormente, Redis no comprime los valores almacenados en él. Esto incluye elementos dentro de una lista. Para valores de lista corta, esto no es un problema. Sin embargo, para listas largas, puede ser beneficioso habilitar la compresión.

En el archivo Redis.conf, busque la línea:

gato sudo /Etc/redis/redis.conferencia | lista grepcomprimir
listacomprimirprofundidad // cambia este valor

Cambie el valor de lista-compresión-profundidad a uno de los siguientes valores:

  1. 1 – comprime todos los nodos de la lista excepto la cabeza y la cola.
  2. 2 – nunca comprima cabeza o cabeza-> o cola o cola->anterior
  3. 3 – Comience la compresión después de cabeza->siguiente y cola->-anterior

Actualiza tu versión de Redis

Otro paso que puede tomar para mejorar el uso de la memoria en su servidor Redis es actualizar su versión de Redis.

Al momento de escribir este tutorial, la versión 4.0 (más reciente) incluye las siguientes funciones.

Concluir

Esta guía explica varios métodos y técnicas que puede usar para optimizar el uso de la memoria en su clúster de Redis. Tenga en cuenta, sin embargo, que no todas las formas están 100% garantizadas.

Gracias por leer, hasta la próxima!!

LEER  Vichiti - Herramienta enfocada OSINT

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba