Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuándo desaparecerá el valor ingresado por Redis?

¿Cuándo desaparecerá el valor ingresado por Redis?

Redis es una base de datos de valores clave, de código abierto, habilitada para la web, basada en memoria, de registro persistente y escrita en ANSI C con una API multilingüe.

Redis puede ejecutarse en la mayoría de los sistemas POSIX (Linux, *BSD, OS X y Solaris, etc.) y no existe una versión oficial de Windows.

A diferencia de las estructuras clave-valor ordinarias, Redis Keys admite estructuras de datos flexibles, incluidas cadenas, hashes, listas, conjuntos y conjuntos ordenados. Son estas estructuras de datos flexibles las que enriquecen los escenarios de aplicaciones de Redis para satisfacer las necesidades de almacenamiento más flexibles de la empresa.

Los datos de Redis se almacenan en la memoria y la parte del bucle de eventos epoll de la implementación subyacente la escribimos nosotros mismos en lugar de utilizar marcos generales como libevent de código abierto, por lo que la eficiencia de lectura y escritura es muy alta. Para lograr la persistencia de los datos, Redis admite la actualización periódica (que se puede lograr mediante la configuración) o la escritura de registros para guardar datos en el disco.

1. Tipo de datos

Como base de datos clave-valor, Redis también proporciona relaciones de mapeo entre claves y valores. Sin embargo, además de los valores numéricos o cadenas habituales, las claves de Redis también pueden ser de uno de los siguientes tipos:

●Lista

●Colección

● Colección ordenada

●Valor hash

El tipo de datos de la clave determina las operaciones admitidas por la clave. Redis admite operaciones atómicas avanzadas, como intersección, unión y búsqueda de listas, conjuntos o conjuntos ordenados. Si el tipo de clave es un número ordinario, Redis también proporciona operaciones atómicas, como incremento.

2. Persistencia

Normalmente, Redis almacena datos en la memoria o está configurado para usar memoria virtual. La persistencia de los datos se puede lograr de dos maneras: una mediante capturas de pantalla, que escriben continuamente los datos en la memoria en el disco; la otra mediante un registro similar a MySQL, que registra cada actualización. El primero tiene un mayor rendimiento, pero puede provocar cierto grado de pérdida de datos; el segundo es todo lo contrario.

3. Sincronización maestro-esclavo

Redis admite la sincronización de datos con múltiples bibliotecas esclavas, lo cual es muy útil para mejorar el rendimiento de lectura.

4. Rendimiento

En comparación con las bases de datos que dependen del disco para registrar cada actualización, la naturaleza basada en memoria de Redis sin duda le brinda un rendimiento excelente. La diferencia de rendimiento entre las operaciones de lectura y escritura es muy notable.

5. Lenguaje que proporciona API

●C

●C

●C#

●Clojure

●Common Lisp

●Erlang

●Haskell

●Java

●Javascript

●Lua

●Objective-C

●Perl

●PHP

●Python

● Ruby

●Scala

●Go

●Tcl

.6 Ocasiones aplicables

Sin duda, Redis crea una nueva idea para el almacenamiento de datos. Al usar Redis, cuando nos enfrentamos a una base de datos monótona, ya no necesitamos centrarnos en cómo poner elefantes en el refrigerador. En cambio, podemos usar las estructuras de datos flexibles y las operaciones de datos de Redis para crear diferentes refrigeradores para diferentes elefantes. Espero que te guste esta metáfora.

Los siguientes son algunos escenarios de aplicación aplicables a Redis:

(1) Operación para obtener los últimos N datos

Por ejemplo, obtener la última versión de For En una operación típica de un artículo, podemos colocar los ID de los últimos 5000 comentarios en la colección de la Lista de Redis de la siguiente manera y luego obtener las partes fuera de la colección de la base de datos.

Utilice el comando LPUSH Latest.comments para insertar datos en la colección de listas.

Una vez completada la inserción, utilice el comando LTRIM Latest.comments 0 5000 para conservar siempre solo los últimos 5000. ID

Luego podemos usar la siguiente lógica al obtener comentarios para una página específica en el lado del cliente

FUNCIÓN get_latest_comments(start, num_items):

id_list = redis.lrange("últimos .comentarios", inicio, inicio num_items-1)

IF id_list.length lt; num_items

id_list = SQL_DB ("SELECCIONAR ... ORDEN POR hora LIMIT...")

END

RETURN id_list

END

Si tiene diferentes dimensiones de filtrado, como la última N entradas de una determinada categoría, luego puede crear otra lista basada en esa categoría, Redis será muy eficiente si solo almacena ID.