Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Käyttäjäkiinnostusten Hallinta | Redisin Tietotyypit
Redisin Perusteet

bookHaaste: 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.

  1. 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".
  2. Tarkista, onko Käyttäjä 1 kiinnostunut "travel"-aiheesta ja onko Käyttäjä 2 kiinnostunut "sports"-aiheesta;

  3. Tunnista Käyttäjän 1 ja Käyttäjän 2 yhteiset kiinnostuksen kohteet;

  4. Selvitä Käyttäjän 1 kiinnostuksen kohteet, joita Käyttäjällä 2 ei ole;

  5. Luo luettelo kaikista ainutlaatuisista kiinnostuksen kohteista, joita Käyttäjä 1, Käyttäjä 2 ja Käyttäjä 3 jakavat;

  6. Käyttäjä 3 ei ole enää kiinnostunut "music"-aiheesta. Poista tämä kiinnostuksen kohde hänen joukostaan;

  7. 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 olemassa 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"]

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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?

Awesome!

Completion rate improved to 3.33

bookHaaste: 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.

  1. 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".
  2. Tarkista, onko Käyttäjä 1 kiinnostunut "travel"-aiheesta ja onko Käyttäjä 2 kiinnostunut "sports"-aiheesta;

  3. Tunnista Käyttäjän 1 ja Käyttäjän 2 yhteiset kiinnostuksen kohteet;

  4. Selvitä Käyttäjän 1 kiinnostuksen kohteet, joita Käyttäjällä 2 ei ole;

  5. Luo luettelo kaikista ainutlaatuisista kiinnostuksen kohteista, joita Käyttäjä 1, Käyttäjä 2 ja Käyttäjä 3 jakavat;

  6. Käyttäjä 3 ei ole enää kiinnostunut "music"-aiheesta. Poista tämä kiinnostuksen kohde hänen joukostaan;

  7. 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 olemassa 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"]

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
some-alt