Redis ejemplos para explicar

breve introducción

  Redis es una clave-valor de los productos NoSQL, y sabemos Memcached es algo similar, pero que tipo de valor almacenado es relativamente más abundante, incluyendo string (cadena), lista (lista), conjunto (colección), zConfigurar (ordenados conjunto ordenado colección) y el hash. Al igual que con memcached, con el fin de garantizar una alta eficiencia, los datos se almacenan en caché en la memoria. diferencia Redis numerosos tipos, también llamadas bases de datos NoSQL estructurado, las siguientes explicaciones para cada tipo de datos y el uso de instancias de rol con PHP.

conexión

// Crear una conexión ReDiS 
$ Redis = new new los Redis ();
 // instantiate, están generalmente conectadas a la dirección 127.0.0.1, el puerto por defecto 6379 
$ Redis -> Connect ( '127.0.0.1', '6379' );
 / / contraseña de autenticación, si la contraseña no se establece esta Redis insignificante 
$ Redis -> la autenticación ( '123456');

Tipos de datos

  string

Redis $ -> set ( 'Test', 'Hola Redis'); // almacenar o cambiar el tipo de cadena

  lista de la lista

El método de representantes l lista de operaciones

  memoria

Redis $ -> LPUSH ( 'Lista', 'Xiaohua'); // adición de izquierda 

$ Redis -> RPUSH ( 'Lista', 'Bob'); // añadida por la derecha 

$ Redis -> LSet ( 'Lista' 2, 'el rojo un día largo Sa'); // establecer o cambiar la lista de valores especificados posición, devuelve un éxito, se devuelve error mensaje de error

  Eliminar

Redis $ -> lPop ( 'Lista'); // eliminar la primera a la izquierda 

$ Redis -> RPOP ( 'Lista'); // eliminar el derecho de las primeras 

/ * 
 elementos * Eliminar basados en el valor, el segundo parámetro es valor por deleción (este es el valor del elemento para eliminar) 
 * tercer parámetro de eliminación indica dónde empezar, varios suprimido 
 parámetro *> 0 de la cabeza a la cola de la tabla comienza a eliminar, quitar la primera de varias extremo 
 * parámetros <0 de pie de página para iniciar la cabecera de borrar, eliminar algunos. 
 * El valor del parámetro = 0 Xiaoming eliminar todos los elementos 
* / 
$ Redis -> lRem ( 'Lista', 'Bob', 1);

  obtener

/ * 
 * El primer parámetro es una lista de nombres 
 * El segundo parámetro es la posición de inicio de índice 
 * El tercer parámetro es la posición del extremo del índice (bits que comprenden elementos finales) 
 * representante de la negativa recíproca, -1 indica la inversa de una primera un 
 * es mayor que la rutina vuelve al inicio si está vacío, es mayor que la longitud real de la final del último elemento directamente de vuelta 
 * * / 
// devuelve una matriz. Almacenado en el rango especificado de elementos en la lista de clave 
$ Redis -> lrange ( 'Lista', 0, -1 ); 

// obtener la lista de valores de la sección designada, supra 
$ Redis -> lGetRange ( 'Lista', 0,2 ); 

// interceptar y retener a los valores de la lista de la sección designada, elimine los valores restantes. exitoso retorno 1, de lo contrario devolverá un mensaje de error. Un número negativo recíproco 
$ Redis -> LTRIM ( 'Lista', 0,2 ); 

// obtener la lista de longitud 
$ Redis -> lSize Número de ( 'Lista' ); 

// obtener la lista del valor de posición especificada 
$ Redis -> LGET ( ' lista', 1. );

-> lindex ( 'lista', 1);

     diccionario de hash

hash de un tipo de campo de cadena y el valor de la tabla de asignación, particularmente adecuado para el almacenamiento de objetos. Cada clave hash se puede almacenar energía de 32 -1 a 2 corresponde (40 millones) para la tabla hash REDIS clave de almacenamiento => valor de la clave, tabla de contenidos corresponde al valor hash h representa el método de funcionamiento

  memoria

/ * 
 Valor * tecla correspondiente a la tabla hash se incrementa en uno (integer)   
 * El primer nombre diccionario parámetro 
 * El segundo parámetro es la clave nombre, 
 * el tercer parámetro es el incremento de la amplitud. Si la clave no existe en la tabla, se añade automáticamente a la tecla, y establecer el valor de aumento de 
 *
 









* / 
$ Redis -> hIncrBy ( 'hashtest', ,. 1' 1' . ); 

// a la clave de la tabla hash especificado valor de incremento 
$ Redis -> hIncrByFloat ( 'hashtest', '2', durante 1,5);

  obtener

// Obtener un valor especificado en hashtest 
$ Redis -> hGet ( 'hashtest', 'a' ); 

// obtener todas las claves (claves) en la tabla hash devuelve una matriz 
$ Redis -> hKeys ( 'hashtest ' ); 

// obtener todos los valores de hash en la tabla, en orden aleatorio, devolver una matriz 
$ Redis -> Hvals (' hashtest ' ); 

// obtener todas las claves y valores en la tabla hash, en un orden aleatorio, devolver una matriz 
$ Redis -> hGetAll ( 'hashtest' ); 

// Obtener el número de la clave de tabla hash 
$ Redis -> HLEN ( 'hashtest' ); 

// obtener el valor mayor corresponde a la pluralidad de llave; el segundo parámetro es una matriz, devuelve una matriz 
Redis $ -> hMGet ( 'hashtest', [l, 2,3 ]); 

// determina si existe la clave de tabla hash, un retorno está presente, volver ausencia vacía 
$ Redis -> hExists ( 'hashtest', '2020' );

  Eliminar

// la tabla hash es una clave, regresa con éxito verdadero, o si la clave no existe verdadera retornos de mesa 
$ Redis -> HDEL ( 'hashtest',' 1' .);

  la toma de series

Redis tipo de cadena de conjunto es una colección desordenada. Es el único miembro de la colección, lo que significa que no puede aparecer la recogida de datos por duplicado. Un conjunto del miembro más grande del 32 al 12 (4294967295, cada conjunto puede almacenar 40 millones de miembros). El método de representantes de la operación Ajuste s

  memoria

/ * 
 * Se añadió a establecer un valor de conjunto, añadiendo el número de retorno éxito, otro retorno 0. 
 * El primer parámetro es el nombre de un conjunto de recopilación 
 * El segundo parámetro se establece en el nuevo valor se inserta, a saber: para insertar un nuevo conjunto de valor 
 * / 

// devuelve 1. 
$ Redis -> Sadd ( 'settest1', 'AA' );
 // . devuelve 1 
$ Redis -> Sadd ( 'settest1', 'BB', 'CC' );
 // devuelve 0 
$ Redis > Sadd ( 'settest1', 'AA' - ;)
 Redis $ -> Sadd ( 'settest2', 'CC' );
 // añadir más valores por encima de 4,0 ReDiS soporta la extensión de 
$ Redis -> sAddArray ( 'has hecho estar '[' cc '' dD '' ee ']);

  obtener

// Obtener todos los conjuntos de todos los elementos 
$ Redis -> sMembers ( 'settest1' ); 

// determina si el elemento es un miembro del conjunto 1 se devuelve, en lugar de regresar vacía 
$ Redis -> sIsMember ( 'settest1', 'BB' ); 

// Comprobar el número de elementos en una colección 
$ Redis -> SCARD ( 'settest1' ); 

// devuelve la intersección de dos conjuntos 
$ Redis -> Sinter ( 'settest1', 'settest2' ); 

// el settest1 intersección y settest2 en la colección settest3 
$ Redis -> sInterStore ( 'settest3', 'settest1', 'settest2' ); 

// devuelve la unión de dos conjuntos 
$ Redis -> SUNION ( 'settest1', 'settest2' );

// El settest1 unión y se coloca en conjunto settest2 settest4 
$ Redis -> sUnionStore ( 'settest4', 'settest1', 'settest2'); 

// devuelve la diferencia de conjuntos de dos conjuntos de 
$ Redis -> sdiff ( 'settest1', 'settest2' ); 

// el settest1 settest2 diferencia de conjuntos y en la colección settset5 
$ Redis -> sDiffStore ( 'settest5', 'settest1', 'settest2') ;

  Eliminar

// un conjunto de valores para borrar 
$ Redis -> SREM ( 'settest1', 'AA' );
 // eliminar varios valores de 
$ Redis -> SREM ( 'settest1', 'AA', BB ' );
 / / eliminación de un elemento aleatorio en la recogida y devuelve el elemento 
$ Redis -> SPOP ( 'settest1');

  conjunto ordenado conjunto ordenado

 Redis conjunto ordenado y la misma colección es también un conjunto de elementos de tipo cuerda, y no permite que los miembros duplicados. La diferencia es que cada elemento se asocia con una puntuación doble. Se ReDiS a ​​los miembros de pequeño a grande especie conjunto ordenado por una veintena de miembros de la colección es única, pero la puntuación (score) se puede repetir establece el número máximo de miembros a 32 º potencia de 1 - (4294967295 , cada conjunto puede almacenar más de 40 millones de miembros). z es un método de operación colección ordenada.

  memoria

/ * 
 * Ztest añade a un valor en el conjunto ordenado, el valor de la puntuación puede ser un número entero o un valor de coma flotante de doble precisión 
 * Zadd cuando se ejecuta, si no, crear un nuevo conjunto ordenado; ordenado pero no si hay otro cuando el tipo de colección, se devuelve un error 
 * / 
$ Redis -> Zadd ( 'pRUEBA.Z' ,. 1, '2019' );
 $ Redis -> Zadd ( 'pRUEBA.Z', 2 '2019' ); 

/ * 
 * si un elemento está presente al actualizar la puntuación de este elemento, y vuelva a insertar el elemento para asegurar que los elementos en la posición correcta. 
 * No es nuevo, pero agregó $ redescubrir> Zadd ( 'ztest' , una puntuación de 1, el valor 1, la puntuación de 2, el valor 2); 
 * para insertar una colección ordenada de una pluralidad de valores 
 * / 
$ Redis -> Zadd ( 'PRUEBA.Z' 2, '2020', 3 '2021', 4 '2022' ); 

// valor especificado aumentó 2,033 2 
$ Redis -> Zadd ( 'SET', 2 '2022');

  obtener

/ * 
 * Obtener el rango especificado del conjunto ordenado, devuelve una matriz, de pequeño a grande fracción 
 * El primer parámetro: Nombre conjunto ordenado 
 * El segundo parámetro: posición de inicio 
 * tercer parámetro: posición final (incluyendo la posición), en nombre de la penúltima varias negativo 
 * el cuarto parámetro: valor opcional, Boolean, con o sin puntuaciones, falsa por defecto 
 * / 
// Ordenar por puntuaciones, pero no como números mixtos 
$ Redis -> Z Rango el ( 'pRUEBA.Z' , 0,1 ); 

// clasificando partituras, partituras y lleva 
$ Redis -> Z van al ( 'pRUEBA.Z', 0,1, true ); 

// Obtener el rango especificado del conjunto ordenado. Devuelve una matriz. Anotar descendente 
$ Redis -> zRevRange (1,2 'Ztest' ); 

// Obtener los puntajes de los elementos especificados 
$ Redis -> Zscore ( 'PRUEBA.Z', '2019' ); 

// Obtener el número de elementos almacenados 
Redis $ -> zCard ( 'pRUEBA.Z' );


-> zCount ( 'PRUEBA.Z', 2,5 ); 

// Devuelve fracción entre 2-3 elementos, no fracción mixta, representada con Z Rango El 
$ Redis -> zRangeByScore ( 'PRUEBA.Z', 2,3 ); 

// fracción Volver entre los elementos 2-3 y método de visualización número mixto es el mismo Z cubre el 
$ Redis -> zRangeByScore ( 'pRUEBA.Z', 2,3, [ 'withscore' => true ]);

  Eliminar

// eliminar los miembros especificados 
$ Redis -> zRem ( 'PRUEBA.Z', '2019' );
 // eliminar la fracción de entre los elementos 2-3, el número de retorno borrada 
$ Redis -> zRemRangeByScore ( 'PRUEBA.Z', 2 , 3);

(De expansión) a otros métodos utilizados comúnmente

  Encontrar la clave relacionados

/ *  
 * Condición detectada por la tecla correspondiente (clave), el apoyo concatenación de cadenas (el valor de retorno es una matriz, aunque no identificó a los datos también devuelve una matriz vacía) 
 * * en nombre de cualquier longitud, cualquier personaje? Una longitud de cualquier carácter 
 * * / 
// encontrar la clave es igual a A 
$ Redis -> Keys ( 'A' ); 

// encontrar la clave, empezando por A, un valor arbitrario de la parte posterior 
$ Redis -> Keys ( 'A * ' ); 

// encuentra el acoplamiento intermedio comprende una tecla b 
$ Redis -> teclas (' * b * ' ); 

// encontrar la longitud de 3, y el primer carácter de la tecla c a = a $; 
$ Redis -> teclas ( 'C ??' ); 

// después de utilizar las teclas se pueden utilizar para el bucle además de obtener () para obtener las claves correspondientes al valor asociado 
$ Redis -> teclas ( $ a '*'.);

  Establecer una fecha de caducidad

/ * 
 * Comprobar el tiempo restante de una clave es válida, y devuelve el número de segundos. 
 * Cuando no hay tiempo de caducidad, -1 
 * Cuando este valor de clave no es, devoluciones -2 
 * / 
$ Redis -> TTL ( 'SET');

  Compruebe la fecha de caducidad

/ * 
 * El número de segundos que expira 
 * a una cierta marca de tiempo (en segundos) cuando expira 
 * / 
$ Redis -> El caduca ( 'SET', 120);

Supongo que te gusta

Origin www.cnblogs.com/DoonyLiu/p/12457289.html
Recomendado
Clasificación