Buscar..


Introducción

Redis admite un tipo de datos de conjunto análogo a los conjuntos matemáticos para modelar datos en la base de datos. Los conjuntos son un tipo de datos compuesto que consiste en un grupo de miembros únicos y no ordenados. Los conjuntos admiten agregar y eliminar miembros, operaciones de tamaño, así como operaciones de combinación que toman dos conjuntos y generan un tercer conjunto. Los conjuntos en Redis son similares a los Conjuntos en la mayoría de los lenguajes de programación.

Sintaxis

  • Miembro clave de SADD [miembro ...]
  • Miembro clave de SISMEMBER
  • Tecla SCARD
  • Miembro clave de SADD [miembro ...]

Observaciones

La documentación completa sobre el tipo de datos del conjunto de Redis se puede encontrar en Redis.io .

Tamaño de un conjunto

El tamaño de un conjunto se puede determinar utilizando el comando SCARD. SCARD devolverá la cardinalidad de un conjunto o el número de miembros en el conjunto. Por ejemplo, si tuviera un Redis configurado my_set almacenado en la base de datos que parecía (Apple, Orange, Banana), podría obtener el tamaño utilizando el siguiente código:

SCARD my_set

En el caso de mi conjunto de ejemplos, esto devolvería 3. Si el usuario ejecuta un comando SCARD en una clave que no existe, Redis devolverá 0.

Agregar elementos a un conjunto

El comando básico de Redis para agregar un elemento a un conjunto es SADD. Toma una clave y uno o más miembros y los agrega al conjunto almacenado en la clave dada.

Por ejemplo, digamos que quería crear un set con los artículos manzana, pera y plátano. Podría ejecutar cualquiera de los siguientes:

SADD fruit apple
SADD fruit pear
SADD fruit banana

o

SADD fruit apple pear banana

Después de ejecutar cualquiera de los dos, tendré el fruto establecido con 3 elementos.

Intentar agregar un elemento que ya está en el conjunto no tendrá ningún efecto. Después de configurar mi set de frutas con el código anterior, si intento agregar Apple nuevamente:

SADD fruit apple

Redis intentará agregar manzana al conjunto de frutas, pero como ya está en el conjunto, nada cambiará.

El resultado del comando SADD es siempre el número de elementos que Redis agrega a un conjunto. Así que intentar volver a agregar manzana, devolverá un resultado de 0.

Los elementos de miembros en Redis distinguen entre mayúsculas y minúsculas, por lo que Apple y Apple se tratan como dos elementos separados.

Pruebas de membresía

Redis proporciona el comando SISMEMBER para probar si un elemento en particular ya es miembro de un conjunto. Utilizando el comando SISMEMBER puedo probar y ver si Apple ya es miembro de mi conjunto de frutas.

Si construyo mi conjunto de frutas del ejemplo anterior, puedo verificar y ver si contiene manzana usando la siguiente prueba:

SISMEMBER fruit apple

SISMEMBER devolverá un 1 ya que el elemento ya está allí.

Si trato de ver si el perro es un miembro de mi juego de frutas:

SISMEMBER fruit dog

Redis devolverá un 0 ya que el perro no está en el set de frutas.

Si un usuario intenta usar el comando SISMEMBER con una clave que no existe, Redis devolverá un 0 que indica que no hay membresía, pero si usa SISMEMBER con una clave que ya tiene un tipo de datos no establecido, Redis devolverá un error.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow