Tipo de datos básico de Redis (colección de conjuntos)

conjunto de colección

Tipo de almacenamiento

Almacene una colección desordenada del tipo de cadena, la cantidad máxima de almacenamiento es 2 ^ 32-1 (aproximadamente 4 mil millones)

Comandos de operación comunes

sadd: agrega elementos al conjunto de la clave especificada

  • mando

    SADD key member [member ...]
    
  • Descripción

    Agregue uno o más elementos de miembro especificados a la clave de conjunto. Si el uno o más miembros especificados ya existen en la clave de conjunto, ignórelo. Si la clave de conjunto no existe, cree una nueva clave de conjunto y agregue el elemento miembro al conjunto clave.

    Si el tipo de clave no es una colección, se devuelve un error.

  • valor de retorno

    Devuelve el número de elementos recién agregados a la colección, excluidos los elementos que ya existen en la colección.

  • ejemplo

    redis> SADD myset "Hello"
    (integer) 1
    redis> SADD myset "World"
    (integer) 1
    redis> SADD myset "World"
    (integer) 0
    redis> SMEMBERS myset
    1) "World"
    2) "Hello"
    redis> 
    

scard: Obtiene el número de elementos de la colección.

  • mando

    SCARD key
    
  • Descripción

    Devuelve la cardinalidad de la clave almacenada en la colección (el número de elementos de la colección).

  • valor de retorno

    La cardinalidad del conjunto (el número de elementos), si la clave no existe, devuelve 0.

  • ejemplo

    redis> SADD myset "Hello"
    (integer) 1
    redis> SADD myset "World"
    (integer) 1
    redis> SCARD myset
    (integer) 2
    redis> 
    

sdiff: Devuelve el elemento de la diferencia entre un conjunto y un conjunto dado.

  • mando

    SDIFF key [key ...]
    
  • valor de retorno

    Elementos del conjunto de resultados

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SDIFF key1 key2
    1) "a"
    2) "b"
    redis> 
    

sdiffstore: almacena los elementos de la diferencia entre un conjunto y un conjunto dado en otro conjunto

  • mando

    SDIFFSTORE destination key [key ...]
    
  • valor de retorno

    Este comando es similar a SDIFF , la diferencia es que el comando no devuelve un conjunto de resultados, pero almacena el resultado en el destinationconjunto.

    Si destinationya existe, se sobrescribirá.

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SDIFFSTORE key key1 key2
    (integer) 2
    redis> SMEMBERS key
    1) "b"
    2) "a"
    redis> 
    

sinter: Obtiene la intersección del conjunto especificado

  • mando

    SINTER key [key ...]
    
  • Descripción

    Si la clave no existe, se considera un conjunto vacío. Cuando el conjunto dado está vacío, el resultado también está vacío (un conjunto está vacío y el resultado siempre está vacío).

  • valor de retorno

    La lista de miembros del conjunto de resultados.

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SINTER key1 key2
    1) "c"
    redis> 
    

sinterstore: almacena la intersección de la colección especificada en otra colección

  • mando

    SINTERSTORE destination key [key ...]
    
  • Descripción

    Este comando es SINTERsimilar al comando, pero en lugar de devolver el conjunto de resultados directamente, guarda el resultado en el conjunto de destino.

    Si el conjunto de destino existe, se sobrescribirá.

  • valor de retorno

    El número de miembros en el conjunto de resultados.

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SINTERSTORE key key1 key2
    (integer) 1
    redis> SMEMBERS key
    1) "c"
    redis> 
    

sismember: determina si el conjunto contiene el elemento especificado

  • mando

    SISMEMBER key member
    
  • Descripción

    Devuelve si el miembro miembro es miembro de la clave de conjunto almacenada.

  • valor de retorno

    • El elemento de 1 miembro es un miembro de la clave de conjunto
    • El elemento 0-member no es miembro de la clave, o la clave del conjunto no existe
  • ejemplo

    redis> SADD myset "one"
    (integer) 1
    redis> SISMEMBER myset "one"
    (integer) 1
    redis> SISMEMBER myset "two"
    (integer) 0
    redis> 
    

olores: obtén todos los elementos de la colección

  • mando

    SMEMBERS key
    
  • Descripción

    Devuelve todos los elementos del conjunto de claves.

    El efecto de este SINTERcomando es el mismo que el de un comando que usa un parámetro .

  • valor de retorno

    Todos los elementos de la colección.

  • ejemplo

    redis> SADD myset "Hello"
    (integer) 1
    redis> SADD myset "World"
    (integer) 1
    redis> SMEMBERS myset
    1) "World"
    2) "Hello"
    redis> 
    

smove: mueve el elemento especificado de una colección a otra colección

  • mando

    SMOVE source destination member
    
  • Descripción

    Mueva el miembro de la colección de origen a la colección de destino. Para otros clientes, el elemento aparecerá como miembro de la colección de origen o de destino en un momento específico.

    Si la colección de origen no existe o no contiene el elemento especificado, el comando de movimiento no hace nada y devuelve 0. De lo contrario, el objeto se eliminará de la colección de origen y se agregará a la colección de destino. Si el elemento ya existe en el destino colección, el comando mover solo elimina el elemento de la colección de origen. Si el origen y el destino no son tipos de colección, se devuelve un error.

  • valor de retorno

    • 1-El elemento se elimina con éxito 1
    • 0-el elemento no es miembro de la colección fuente, no hay operación
  • ejemplo

    redis> SADD myset "one"
    (integer) 1
    redis> SADD myset "two"
    (integer) 1
    redis> SADD myotherset "three"
    (integer) 1
    redis> SMOVE myset myotherset "two"
    (integer) 1
    redis> SMEMBERS myset
    1) "one"
    redis> SMEMBERS myotherset
    1) "three"
    2) "two"
    redis> 
    

spop: elimina aleatoriamente un número específico de elementos del conjunto

  • mando

    SPOP key [count]
    
  • Descripción

    keyElimina y devuelve uno o más elementos aleatorios del conjunto almacenado .

    countLos parámetros se proporcionarán en versiones posteriores, pero no están disponibles en 2.6, 2.8 y 3.0.

  • ejemplo

    redis> SADD myset "one"
    (integer) 1
    redis> SADD myset "two"
    (integer) 1
    redis> SADD myset "three"
    (integer) 1
    redis> SPOP myset
    1) "three"
    redis> SMEMBERS myset
    1) "one"
    2) "two"
    redis> SADD myset "four"
    (integer) 1
    redis> SADD myset "five"
    (integer) 1
    redis> SPOP myset 3
    1) "one"
    2) "four"
    3) "two"
    redis> SMEMBERS myset
    1) "five"
    

srandmember: consulta aleatoriamente un número específico de elementos del conjunto

  • mando

    SRANDMEMBER key [count]
    
  • Descripción

    Proporcione solo el parámetro clave, luego devuelva aleatoriamente un elemento en el conjunto de claves.

    A partir de Redis 2.6, se puede aceptar el parámetro de recuento. Si recuento es un número entero y menor que el número de elementos, se devolverá una matriz que contiene recuento de diferentes elementos. Si recuento es un número entero y mayor que el número de elementos de la colección , solo se devolverá toda la colección. Elemento, cuando el recuento es un número negativo, devolverá una matriz que contiene el valor absoluto de los elementos del recuento. Si el valor absoluto del recuento es mayor que el número de elementos, habrá múltiples apariciones de un elemento en el conjunto de resultados devuelto.

    Cuando solo se proporciona el parámetro clave, la función de este comando es similar al comando SPOP. La diferencia es que el comando SPOP eliminará el elemento aleatorio seleccionado del conjunto, mientras que SRANDMEMBER solo devuelve el elemento aleatorio sin realizar ninguna operación.

  • valor de retorno

    Si no se utiliza el parámetro de recuento, el comando devuelve un elemento aleatorio o nil si la clave no existe.

    Utilice el parámetro de recuento para devolver una matriz aleatoria de elementos o una matriz vacía si la clave no existe.

  • ejemplo

    redis> SADD myset one two three
    (integer) 3
    redis> SRANDMEMBER myset
    "one"
    redis> SRANDMEMBER myset 2
    1) "three"
    2) "one"
    redis> SRANDMEMBER myset -5
    1) "one"
    2) "one"
    3) "one"
    4) "one"
    5) "one"
    redis> 
    

rpoplpush: coloca el elemento de cola de una lista al principio de otra lista

  • mando

    RPOPLPUSH source destination
    
  • Descripción

    Devuelve y elimina atómicamente el último elemento de la lista almacenado en la fuente (el último elemento de la lista), y coloca este elemento en la posición del primer elemento de la lista almacenada en el destino (el encabezado de la lista).

    Por ejemplo: Suponga que el origen almacena las listas a, byc, y el destino almacena las listas x, y y z. El resultado de ejecutar RPOPLPUSH es que la fuente almacena las listas a, by el destino almacena las listas c, x, y y z.

    Si la fuente no existe, devolverá un valor nulo y no hará nada. Si el origen y el destino son los mismos, entonces esta operación equivale a eliminar el último elemento de la lista y colocar ese elemento al principio de la lista, por lo que este comando también se puede considerar como un comando para rotar la lista.

  • valor de retorno

    Elementos quitados y colocados

  • ejemplo

    redis> RPUSH mylist "one"
    (integer) 1
    redis> RPUSH mylist "two"
    (integer) 2
    redis> RPUSH mylist "three"
    (integer) 3
    redis> RPOPLPUSH mylist myotherlist
    "three"
    redis> LRANGE mylist 0 -1
    1) "one"
    2) "two"
    redis> LRANGE myotherlist 0 -1
    1) "three"
    redis> 
    

srem: elimina el elemento especificado en la colección

  • mando

    SREM key member [member ...]
    
  • Descripción

    Elimina el elemento especificado en el conjunto de claves. Si el elemento especificado no es un elemento del conjunto de claves, se ignorará. Si el conjunto de claves no existe, se considerará como un conjunto vacío. El comando devuelve 0.

    Si el tipo de clave no es un conjunto, se devuelve un error.

  • valor de retorno

    El número de elementos eliminados del conjunto, excluidos los miembros no existentes.

  • ejemplo

    redis> SADD myset "one"
    (integer) 1
    redis> SADD myset "two"
    (integer) 1
    redis> SADD myset "three"
    (integer) 1
    redis> SREM myset "one"
    (integer) 1
    redis> SREM myset "four"
    (integer) 0
    redis> SMEMBERS myset
    1) "three"
    2) "two"
    redis> 
    

sunion: Obtiene la unión del conjunto especificado

  • mando

    SUNION key [key ...]
    
  • Descripción

    Devuelve todos los miembros de la unión de los múltiples conjuntos dados.

    Una clave que no existe puede considerarse un conjunto vacío.

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SUNION key1 key2
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "e"
    redis> 
    

sunionstore: almacena la unión del conjunto especificado en otro conjunto

  • mando

    SUNIONSTORE destination key [key ...]
    
  • Descripción

    Este comando es similar al comando SUNION , excepto que no devuelve un conjunto de resultados, pero almacena el resultado en el conjunto de destino.

    Si el destino ya existe, se sobrescribirá.

  • valor de retorno

    El número de elementos del conjunto de resultados.

  • ejemplo

    redis> SADD key1 "a"
    (integer) 1
    redis> SADD key1 "b"
    (integer) 1
    redis> SADD key1 "c"
    (integer) 1
    redis> SADD key2 "c"
    (integer) 1
    redis> SADD key2 "d"
    (integer) 1
    redis> SADD key2 "e"
    (integer) 1
    redis> SUNIONSTORE key key1 key2
    (integer) 5
    redis> SMEMBERS key
    1) "c"
    2) "e"
    3) "b"
    4) "a"
    5) "d"
    redis>
    

Supongo que te gusta

Origin blog.csdn.net/huangge1199/article/details/112331907
Recomendado
Clasificación