📖 Scenario: You are managing a Redis database for a small online store. You want to keep track of product stock levels using keys. Proper key management helps you avoid confusion and errors when accessing or updating data.
🎯 Goal: Build a simple Redis key structure to store product stock counts, add a configuration for a stock threshold, write a query to find products below the threshold, and finalize the key naming convention.
📋 What You'll Learn
Create keys for three products with exact stock values
Add a stock threshold variable
Write a Redis command to find products with stock below the threshold
Use a consistent key naming pattern for all products
💡 Why This Matters
🌍 Real World
Proper key management in Redis helps businesses track inventory accurately and avoid mistakes when updating or querying stock data.
💼 Career
Understanding key naming conventions and data retrieval in Redis is essential for backend developers and database administrators working with fast, in-memory data stores.
Progress0 / 4 steps
1
Create product stock keys
Create three Redis keys named product:apple:stock, product:banana:stock, and product:orange:stock with values 50, 20, and 0 respectively.
Redis
Hint
Use the SET command to assign stock values to each product key.
2
Add a stock threshold variable
Create a Redis key named stock:threshold and set its value to 10 to represent the low stock warning level.
Redis
Hint
Use the SET command to create the threshold key with value 10.
3
Find products below stock threshold
Write Redis commands to get the stock values of product:apple:stock, product:banana:stock, and product:orange:stock, then compare them to the stock:threshold value to identify which products have stock less than 10.
Redis
Hint
Use the GET command to retrieve each product's stock and the threshold value.
4
Finalize key naming convention
Ensure all product stock keys follow the pattern product:<product_name>:stock and the threshold key is named stock:threshold.
Redis
Hint
Check that all keys use the correct naming pattern for clarity and easy management.
Practice
(1/5)
1. Why is it important to use clear and consistent key names in Redis?
easy
A. It helps organize data and makes it easier to find keys.
B. It increases the size of the Redis database automatically.
C. It allows Redis to run without any memory limits.
D. It prevents Redis from accepting new connections.
Solution
Step 1: Understand key naming purpose
Clear and consistent key names help keep data organized in Redis.
Step 2: Identify benefits of good key names
Organized keys make it easier to find and manage data quickly.
Final Answer:
It helps organize data and makes it easier to find keys. -> Option A
Quick Check:
Good key names = easier data management [OK]
Hint: Think: clear names = easy to find data [OK]
Common Mistakes:
Assuming key names affect database size
Believing key names control memory limits
Confusing key names with connection settings
2. Which of the following is the correct way to set a key with a prefix in Redis CLI?
easy
A. SET user-1001 "John"
B. SET user:1001 "John"
C. SET user/1001 "John"
D. SET user1001 "John"
Solution
Step 1: Recognize common prefix pattern
Using a colon ':' is the standard way to separate prefixes in Redis keys.
Step 2: Check each option's syntax
Only SET user:1001 "John" uses the colon prefix format correctly.
Final Answer:
SET user:1001 "John" -> Option B
Quick Check:
Prefix with ':' is correct Redis key style [OK]
Hint: Use ':' to separate prefixes in keys [OK]
Common Mistakes:
Using dashes or slashes instead of colons
Not using any separator between prefix and key
Confusing key naming with command syntax
3. Given these Redis keys: user:1, user:2, order:1, what will the command KEYS user:* return?
medium
A. []
B. ["order:1"]
C. ["user:1", "user:2", "order:1"]
D. ["user:1", "user:2"]
Solution
Step 1: Understand the KEYS command with pattern
KEYS user:* matches all keys starting with 'user:' prefix.
Step 2: Identify matching keys
Only 'user:1' and 'user:2' match the pattern; 'order:1' does not.
Final Answer:
["user:1", "user:2"] -> Option D
Quick Check:
KEYS user:* returns keys with 'user:' prefix [OK]
Hint: KEYS with prefix* returns keys starting with prefix [OK]
Common Mistakes:
Expecting keys with different prefixes to appear
Thinking KEYS returns empty if any key exists
Confusing pattern matching syntax
4. You want to delete all keys with prefix session: but your command DEL session:* returns an error. What is the problem?
medium
A. DEL command requires a password to delete keys.
B. The prefix 'session:' is invalid in Redis keys.
C. DEL does not accept wildcards; you must delete keys individually.
D. You must restart Redis before deleting keys.
Solution
Step 1: Understand DEL command behavior
DEL command deletes specific keys; it does not support wildcards.
Step 2: Identify correct deletion method
To delete keys by pattern, you must first find keys (e.g., with KEYS) then delete them individually.
Final Answer:
DEL does not accept wildcards; you must delete keys individually. -> Option C
Quick Check:
DEL needs exact keys, no wildcards [OK]
Hint: DEL needs exact keys; use KEYS + DEL loop [OK]
Common Mistakes:
Trying to use wildcards directly with DEL
Thinking prefixes are invalid keys
Believing Redis needs restart to delete keys
5. You have keys cache:item:1, cache:item:2, and cache:user:1. You want to delete only keys related to items efficiently. Which approach is best?
hard
A. Use SCAN 0 MATCH cache:item:* to find keys, then delete them one by one.
B. Run DEL cache:* to delete all cache keys at once.
C. Rename keys to remove 'item' prefix before deleting.
D. Flush the entire Redis database to remove all keys.
Solution
Step 1: Identify keys to delete
Only keys with prefix 'cache:item:' should be deleted, not 'cache:user:'.
Step 2: Choose efficient deletion method
SCAN with MATCH finds keys without blocking Redis; then delete keys individually.
Step 3: Avoid unsafe commands
DEL with wildcards or FLUSHDB deletes too much; renaming keys is unnecessary.
Final Answer:
Use SCAN 0 MATCH cache:item:* to find keys, then delete them one by one. -> Option A
Quick Check:
SCAN + MATCH + DEL = safe selective deletion [OK]
Hint: Use SCAN with MATCH to safely find keys before deleting [OK]
Common Mistakes:
Using DEL with wildcards causing errors
Flushing entire DB losing all data
Renaming keys unnecessarily before deletion
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.