“El conjunto puede consistir en una colección finita de alfabetos, valores numéricos o incluso objetos del mundo real. En los sistemas numéricos, tenemos un conjunto de operaciones para realizar cálculos matemáticos. Del mismo modo, se necesitan operaciones establecidas cuando necesitamos establecer una relación entre dos o más conjuntos. En esta guía, nos centraremos solo en las operaciones sindicales establecidas. Set Union se define como los elementos distintos que están en el conjunto A, en el conjunto B, o ambos establecimientos A y B, donde A y B son dos conjuntos dados."
Como se muestra en la figura anterior, todos los elementos distintos pertenecen al conjunto A y el conjunto B, o ambos se denominan la unión del conjunto A y el conjunto B.
Redis Sets y Sunion Command
Redis In Memory Data Store admite los tipos de datos establecidos para contener una colección de miembros de cadena únicos de manera desordenada. Admite las principales operaciones establecidas como sindicato, intersección y diferencia también. En esta discusión, nos centraremos en la operación sindical en los sets de Redis. El comando Sunion se usa para obtener la unión de conjuntos dados. Tiene o (n) complejidad del tiempo lineal donde n es el número de miembros en todos los conjuntos.
La siguiente es la sintaxis del comando sunion.
Sunion set_key [set_key ...]
set_key: La clave asociada con el conjunto.
El comando Sunion acepta más de un set. Si ha especificado un solo conjunto en el comando, la devolución sería todos los elementos que pertenecen al conjunto especificado.
Este comando devuelve otro conjunto que contiene todos los miembros distintos resultantes de la unión de conjuntos dados, como se muestra en la siguiente figura.
Caso de uso: obtenga todos los visitantes a los sitios web de la empresa
Supongamos que una empresa mantiene 3 sitios web para diferentes fines de marketing. Cada sitio web tiene una gran cantidad de usuarios registrados. Durante la temporada navideña, la compañía planea enviar cupones de regalo a todos los usuarios activos que visitaron sus 3 sitios web. La compañía realiza un seguimiento de los visitantes mensuales en un almacén de datos de Redis. Dado que necesitan mantener a los usuarios distintos que visitan mensualmente, están utilizando conjuntos de Redis aquí.
Si el usuario A visita el sitio web a principios de este mes se agregará al conjunto. Pero las siguientes visitas en el mismo mes para el usuario A no agregarán un nuevo registro a la base de datos.
Creemos tres conjuntos con algunas ID de usuario ficticio utilizando el comando SADD de la siguiente manera.
El primer set, Sitio1: Visitantes, se usa para mantener la visita del usuario al sitio 1.
Sadd Site1: Visitantes "Jack" "Harry_12" "Mary4" "Saumya12" "Ricky_martin"
A continuación, el Sitio2: Visitantes El conjunto se creará de la siguiente manera.
Sadd Site2: Visitantes "Mary4" "Linkon"
Finalmente, el set Sitio3: Visitantes, que posee a los visitantes del sitio 3.
Sadd Site3: Visitantes "Linkon" "Deva" "Martin" "John12"
Inspeccionemos cada conjunto y verifiquemos que todos los miembros se hayan almacenado correctamente. Usaremos el comando smembers para buscar miembros por set.
Sitio de Smembers1: Visitantes
Sitio de smembers2: Visitantes
Sitio de Smembers3: Visitantes
Producción
Ahora la compañía requiere recuperar a todos los visitantes distinguidos de los tres sitios. Esta es la unión de tres conjuntos que hemos creado justo antes.
Sitio de Sunion1: Sitio de visitantes2: Sitio de visitantes 3: Visitantes
Producción
Como se esperaba, la lista resultante contiene todos los miembros distintos de los tres conjuntos: Sitio1: Visitantes, Sitio2: Visitantes y Sitio3: Visitantes.
Vamos a especificar un conjunto inexistente en el comando y ver la salida.
Sitio de Sunion1: Sitio de visitantes2: Sitio de visitantes 3: Sitio de visitantes4
En el comando anterior, sitio4 es un conjunto inexistente, pero no hay diferencia en la colección resultante de miembros porque sitio4 ha sido considerado un conjunto vacío por el comando sunion.
Incluso podemos especificar un solo conjunto como argumento establecido. En ese caso, el sindicato contendrá todos los elementos en el conjunto especificado.
Sitio de Sunion2: Visitantes
Producción
Como se esperaba, el conjunto resultante contiene todos los elementos de El sitio2: visitantes colocar. En general, el comando Sunion es muy útil para tomar la unión de múltiples conjuntos, que consume un tiempo considerable cuando se realiza manualmente.
Conclusión
Para concluir, el comando sunion se puede usar para recuperar la unión de los conjuntos dados. Este comando funciona con complejidad de tiempo lineal y tiene una sintaxis muy simple donde acepta solo las claves de los conjuntos que necesita para obtener el sindicato. Como se destaca en las secciones anteriores, el comando Sunion devuelve una lista de miembros resultantes de la unión de los conjuntos especificados. Finalmente, las claves inexistentes que se especifican en el comando se considerarán conjuntos vacíos.