Redis utiliza comandos y escenarios de uso comúnmente

String
String set key value
    obtener clave

lista
lista valor clave lpush
lista valor
   clave rpush clave lrange 0 10

Implemente el mensaje de suscripción de la cuenta oficial de Weibo


conjunto


el valor de la clave sadd la clave smembers devuelve todos los valores en la
clave sismember establecida "1" Determine si existe un cierto 1 en la clave, si existe, devuelva 1. De lo contrario, devuelva 0

tecla sunion sadd fusionar dos 
   teclas de olores

valor de clave srem eliminar un valor en la colección

la tecla scard devuelve el número de la colección

Darse cuenta de gustos y colecciones. Etiqueta

Implementar el modelo de atención.

sinter key1 key2 devuelve la parte común de las dos colecciones

El conjunto de diferencias devuelto por sdiff key1 key2

hash hmset myhash field1 value1 field2 value2
   hmget myhash field1
zadd key score member

El comando
del key elimina una determinada clave de
volcado de clave serializa una determinada clave
existe clave para determinar si existe una determinada clave clave
expire Establecer el tiempo de vencimiento, en segundos
Expireat key tomestamp Establecer el tiempo de vencimiento, pero la
tecla pexpire de marca de tiempo Unix establece el tiempo de vencimiento,
Clave de Pexpireat en milisegundos para establecer el tiempo de caducidad, en un
patrón de teclas de milisegundos Unix para encontrar todas las claves del patrón compuesto
clave de movimiento db Mover la clave de la base de datos actual a la base de datos dada
clave db persistente Eliminar el tiempo de caducidad de la clave, guardar Para la
clave pttl permanente se devuelve el tiempo de caducidad restante de la clave en milisegundos. La tecla Ttl devuelve el
tiempo restante de vida (TTL, tiempo de vida) de la clave dada en segundos.
Randomkey devuelve aleatoriamente una clave de la base de datos actual . Cambiar nombre
clave new_name modificar la clave Nombre '
renamenx key newkey Solo cuando newkey no exista, cambie el nombre a newkey
type key y devuelva
   
   
guardar o bgsave almacenado en la clave.  Guardar datos
config set requirepass contraseña set password
auth contraseña contraseña autorizada 
config get requirepasspass


No necesariamente exitoso, no se recomienda usar
multi para abrir la transacción
ejecutiva para enviar la transacción

Redis partición
1: la partición de rango
es mapear a una instancia de redis específica de un cierto rango de objetos.
Este método es factible y se utiliza en la práctica. La desventaja es que hay una tabla de mapeo de rango de intervalo a instancia. Esta tabla debe ser administrada. Al mismo tiempo, también se requiere una tabla de mapeo de varios objetos. Rongchang no es una buena manera para redis
2: particionamiento
hash, que es aplicable a cualquier clave, ningún objeto —— name Este formulario
usa la función hash para key Convierta a un número, por ejemplo, use la función hash crc32, ejecute la función crc32 en la tecla para generar un número entero como 93024922, module
este número y conviértalo en un número entre 0-3, puede asignar este número entero a 4 instancias de redis Uno de ellos, 93024922% 4 = 2 significa que la clave debe almacenarse en la instancia de R2, y la operación de módulo es la operación restante


Redis mantiene la coherencia de los datos
1. Actualización completa periódica, elimina
todas las cachés , vuelve a cargar 2. Dale a todas las cachés un tiempo de caducidad
3. Vuelve a intentar eliminar las cachés, cuanto mayor sea el requisito de coherencia de datos, más tendrás que renovar

Si la concurrencia no es alta,
lea: lea redis, si no, consulte la base de datos, escriba los datos devueltos por sql a redis y lea directamente desde el caché si el caché está disponible
: escriba sql primero, escriba redis después de escribir con éxito

La concurrencia es alta.
Leer: lea redis, si hay un retorno normal, si no, lea la base de datos. La base de datos vuelve a escribir en redis. Si hay lecturas y
escrituras de redis : asíncrono primero, escriba primero en redis. Regrese directamente, luego escriba en la base de datos regularmente, puede hacer varias actualizaciones, escribir una vez


Solo la consulta debe actualizar el caché,

Limpie regularmente el caché caducado: la desventaja es que debe mantener si caduca una gran cantidad de caché,

Cuando un cliente solicite venir, primero determine si la memoria caché utilizada para esta solicitud ha caducado. Si caduca, vaya al sistema subyacente para obtener datos y actualice la memoria caché: la desventaja es juzgar si caduca cada vez que visita, y la lógica empresarial es más complicada


Penetración: consulta con frecuencia datos inexistentes. Dado que no hay datos en el caché, la
solución de la base de datos debe consultarse siempre . Si no se consulta la base de datos, el resultado vacío se almacenará en caché. La consulta es consultar primero el caché. Después de regresar

Avalancha: una gran cantidad de fallas de caché provocan que una gran cantidad de bases
de datos de consulta bloqueen la consulta de caché. Si la clave no existe, bloquéela y luego consulte la base de datos en caché, luego desbloquee, y si encuentra otros bloqueos, espere y luego espere a que el desbloqueo devuelva datos o Ingrese la consulta de la base de datos y otras operaciones siguientes

Redis es esencialmente una base de datos de memoria de valor clave. Quiero guardar en caché. Toda la base de datos se carga en la memoria, y los datos se descargan en el disco a través de una operación de un solo paso para guardarla. Debido a la operación de la memoria, la velocidad es relativamente rápida, que puede llegar a 100000+
Hay muchos formatos de datos compatibles, y el valor máximo de un solo valor es 1G.

Redis tiene ventajas sobre memcached
1. Es mucho más rápido
2. Admite más formatos de datos
3. Puede conservar datos


¿Por qué
redis alcanza la velocidad de lectura y escritura más rápida en la memoria, lee los datos en la memoria y escribe los datos en el disco de forma asíncrona, porque redis tiene las características de formateo rápido y de datos, si no se almacena en la memoria? , La E / S de disco afectará el rendimiento de redis


¿En qué circunstancias la solución de clúster redis hará que todo el clúster no esté disponible?
Sin el modo de replicación, mientras un nodo falle, el clúster completo carecerá de datos y no estará disponible


Cómo asegurarse de que los datos en
redis sean datos calientes Cuando el tamaño del conjunto de datos de memoria redis aumenta a un cierto tamaño, se implementará una estrategia de eliminación de datos

Uso escenarios
caché de sesión: Redis porque proporciona persistencia operaciones se pueden restaurar si se produce un problema
de colas: lista y establece el tipo de datos, puede ser utilizado para la cola de mensajes utilizando la
publicación / suscripción:

Si hay operaciones de lectura y escritura perdidas en el clúster de redis
, redis no garantiza una fuerte consistencia de datos, lo que significa que en el uso real el clúster puede perder operaciones de escritura en ciertas condiciones


16384 nodos, el valor predeterminado es 0 base de datos, use ping para probar si redis está conectado,


Operación AOF: registre cada operación de escritura en forma de registro, solo necesita agregar el archivo sin volver a escribir el archivo, cuando se inicia redis, el registro se ejecutará de principio a fin para completar el trabajo de recuperación de datos, porque AOF está en forma de anexar, por lo que el archivo más y más
a este problema, vuelva a escribir el nuevo mecanismo, cuando los datos llegan a una cierta cantidad de tiempo, se bifurcará un nuevo proceso para atravesar los datos en el proceso, cada conjunto de datos corresponde a una declaración escrita en un archivo temporal, y luego vuelva a colocar Para archivos antiguos, el disparador predeterminado se activa cuando el tamaño del archivo AOF es el doble del tamaño después de la última reescritura y el archivo es mayor a 64M;

Qué sucede
cuando se agota la memoria de redis Si se alcanza el límite superior, el comando de escritura de redis devolverá un mensaje de error o usará redis como caché para configurar el mecanismo de eliminación. Cuando se alcanza el límite superior, el contenido antiguo se eliminará

Redis es de un solo subproceso. ¿Cómo mejorar la utilización de la CPU?
Puede implementar múltiples instancias de redis en el mismo servidor y usarlas como servidores diferentes. En algún momento, un servidor no es suficiente de todos modos, puede usar fragmentación

Sólo se necesita para dominar configurar
Sentinel esclavo adquirir por el maestro, el envío de mensajes de información para el maestro y el esclavo, obtienen su información
centinelas regularmente desde la base de datos sentine al host: Canal hola para enviar información y seguimiento de estas bases de datos centinelas comparten su información
centinela programada para maestro y El esclavo envía un comando PING para controlar si la base de datos y los nodos están fuera de servicio

11 artículos originales publicados · Me gusta2 · Visitas 140

Supongo que te gusta

Origin blog.csdn.net/sinat_38195280/article/details/88885842
Recomendado
Clasificación