Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Challenge: Managing User Interests | Section
Practice
Projects
Quizzes & Challenges
Quizze
Challenges
/
Caching in Spring Boot with Redis

bookChallenge: Managing User Interests

Swipe um das Menü anzuzeigen

Imagine you are developing a feature for an application that tracks user interests. Information about each user is stored in Redis as a set. Each user has a unique collection of interests.

  1. Add the interests for each user to their respective sets:

    • user:1:interests: "music", "movies", "sports";
    • user:2:interests: "sports", "travel", "reading";
    • user:3:interests: "reading", "music", "cooking".
  2. Check if User 1 is interested in "travel" and if User 2 is interested in "sports";

  3. Identify the common interests of User 1 and User 2;

  4. Find the interests of User 1 that are not shared by User 2;

  5. Create a list of all unique interests shared by User 1, User 2, and User 3;

  6. User 3 has stopped being interested in "music." Remove this interest from their set;

  7. Display the list of interests for each user after performing these operations.

1. Add interests for each user to their respective sets:

SADD user:1:interests "music" "movies" "sports"
SADD user:2:interests "sports" "travel" "reading"
SADD user:3:interests "reading" "music" "cooking"

2. Verify if a specific interest exists in a user's set:

SISMEMBER user:1:interests "travel"    # result: 0 (User 1 is not interested)
SISMEMBER user:2:interests "sports"   # result: 1 (User 2 is interested)

3. Retrieve shared interests between two users:

SINTER user:1:interests user:2:interests   # result: ["sports"]

4. Get interests of one user that are not shared by another:

SDIFF user:1:interests user:2:interests   # result: ["music", "movies"]

5. Create a full list of unique interests from all users:

SUNION user:1:interests user:2:interests user:3:interests   # result: ["music", "movies", "sports", "travel", "reading", "cooking"]

6. Delete an interest from a user's set:

SREM user:3:interests "music"

7. Retrieve the updated sets of interests for each user:

SMEMBERS user:1:interests   # result: ["music", "movies", "sports"]
SMEMBERS user:2:interests   # result: ["sports", "travel", "reading"]
SMEMBERS user:3:interests   # result: ["reading", "cooking"]

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 17

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 17
some-alt