Haaste: Käyttäjäkiinnostusten Hallinta
Kuvittele, että kehität ominaisuutta sovellukseen, joka seuraa käyttäjien kiinnostuksen kohteita. Tiedot jokaisesta käyttäjästä tallennetaan Redis-tietokantaan joukkona (set). Jokaisella käyttäjällä on yksilöllinen kokoelma kiinnostuksen kohteita.
-
Lisää kunkin käyttäjän kiinnostuksen kohteet heidän omiin joukkoihinsa:
user:1:interests: "music", "movies", "sports";user:2:interests: "sports", "travel", "reading";user:3:interests: "reading", "music", "cooking".
-
Tarkista, onko Käyttäjä 1 kiinnostunut "travel" ja onko Käyttäjä 2 kiinnostunut "sports";
-
Tunnista Käyttäjä 1:n ja Käyttäjä 2:n yhteiset kiinnostuksen kohteet;
-
Selvitä Käyttäjä 1:n kiinnostuksen kohteet, joita Käyttäjä 2 ei jaa;
-
Laadi luettelo kaikista ainutlaatuisista kiinnostuksen kohteista, joita Käyttäjä 1, Käyttäjä 2 ja Käyttäjä 3 jakavat;
-
Käyttäjä 3 ei ole enää kiinnostunut "music". Poista tämä kiinnostuksen kohde hänen joukostaan;
-
Näytä kunkin käyttäjän kiinnostuksen kohteet näiden toimenpiteiden jälkeen.
1. Lisää kiinnostuksen kohteet jokaiselle käyttäjälle heidän omiin joukkoihinsa:
SADD user:1:interests "music" "movies" "sports"
SADD user:2:interests "sports" "travel" "reading"
SADD user:3:interests "reading" "music" "cooking"
2. Tarkista, onko tietty kiinnostuksen kohde käyttäjän joukossa:
SISMEMBER user:1:interests "travel" # result: 0 (User 1 is not interested)
SISMEMBER user:2:interests "sports" # result: 1 (User 2 is interested)
3. Hae kahden käyttäjän yhteiset kiinnostuksen kohteet:
SINTER user:1:interests user:2:interests # result: ["sports"]
4. Hae yhden käyttäjän kiinnostuksen kohteet, joita toisella ei ole:
SDIFF user:1:interests user:2:interests # result: ["music", "movies"]
5. Luo kaikkien käyttäjien yksilöllisten kiinnostuksen kohteiden täydellinen lista:
SUNION user:1:interests user:2:interests user:3:interests # result: ["music", "movies", "sports", "travel", "reading", "cooking"]
6. Poista kiinnostuksen kohde käyttäjän joukosta:
SREM user:3:interests "music"
7. Hae päivitetyt kiinnostuksen kohteiden joukot jokaiselle käyttäjälle:
SMEMBERS user:1:interests # result: ["music", "movies", "sports"]
SMEMBERS user:2:interests # result: ["sports", "travel", "reading"]
SMEMBERS user:3:interests # result: ["reading", "cooking"]
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain what each Redis command does in this context?
How can I modify a user's interests if they gain a new interest?
What happens if I try to remove an interest that doesn't exist in a user's set?
Mahtavaa!
Completion arvosana parantunut arvoon 3.33
Haaste: Käyttäjäkiinnostusten Hallinta
Pyyhkäise näyttääksesi valikon
Kuvittele, että kehität ominaisuutta sovellukseen, joka seuraa käyttäjien kiinnostuksen kohteita. Tiedot jokaisesta käyttäjästä tallennetaan Redis-tietokantaan joukkona (set). Jokaisella käyttäjällä on yksilöllinen kokoelma kiinnostuksen kohteita.
-
Lisää kunkin käyttäjän kiinnostuksen kohteet heidän omiin joukkoihinsa:
user:1:interests: "music", "movies", "sports";user:2:interests: "sports", "travel", "reading";user:3:interests: "reading", "music", "cooking".
-
Tarkista, onko Käyttäjä 1 kiinnostunut "travel" ja onko Käyttäjä 2 kiinnostunut "sports";
-
Tunnista Käyttäjä 1:n ja Käyttäjä 2:n yhteiset kiinnostuksen kohteet;
-
Selvitä Käyttäjä 1:n kiinnostuksen kohteet, joita Käyttäjä 2 ei jaa;
-
Laadi luettelo kaikista ainutlaatuisista kiinnostuksen kohteista, joita Käyttäjä 1, Käyttäjä 2 ja Käyttäjä 3 jakavat;
-
Käyttäjä 3 ei ole enää kiinnostunut "music". Poista tämä kiinnostuksen kohde hänen joukostaan;
-
Näytä kunkin käyttäjän kiinnostuksen kohteet näiden toimenpiteiden jälkeen.
1. Lisää kiinnostuksen kohteet jokaiselle käyttäjälle heidän omiin joukkoihinsa:
SADD user:1:interests "music" "movies" "sports"
SADD user:2:interests "sports" "travel" "reading"
SADD user:3:interests "reading" "music" "cooking"
2. Tarkista, onko tietty kiinnostuksen kohde käyttäjän joukossa:
SISMEMBER user:1:interests "travel" # result: 0 (User 1 is not interested)
SISMEMBER user:2:interests "sports" # result: 1 (User 2 is interested)
3. Hae kahden käyttäjän yhteiset kiinnostuksen kohteet:
SINTER user:1:interests user:2:interests # result: ["sports"]
4. Hae yhden käyttäjän kiinnostuksen kohteet, joita toisella ei ole:
SDIFF user:1:interests user:2:interests # result: ["music", "movies"]
5. Luo kaikkien käyttäjien yksilöllisten kiinnostuksen kohteiden täydellinen lista:
SUNION user:1:interests user:2:interests user:3:interests # result: ["music", "movies", "sports", "travel", "reading", "cooking"]
6. Poista kiinnostuksen kohde käyttäjän joukosta:
SREM user:3:interests "music"
7. Hae päivitetyt kiinnostuksen kohteiden joukot jokaiselle käyttäjälle:
SMEMBERS user:1:interests # result: ["music", "movies", "sports"]
SMEMBERS user:2:interests # result: ["sports", "travel", "reading"]
SMEMBERS user:3:interests # result: ["reading", "cooking"]
Kiitos palautteestasi!