Bird
Raised Fist0
Redisquery~20 mins

Why configuration matters in Redis - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Redis Configuration Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Why is configuring maxmemory important in Redis?

Redis allows setting a maxmemory limit. What happens if you do not configure maxmemory in a Redis instance?

ARedis will automatically delete old keys to free memory without any configuration.
BRedis will use unlimited memory until the system runs out of RAM, possibly causing crashes.
CRedis refuses to start without a <code>maxmemory</code> setting.
DRedis will store data only on disk and not use RAM.
Attempts:
2 left
💡 Hint

Think about what happens when a program uses more memory than the system has.

❓ query_result
intermediate
2:00remaining
What is the output of CONFIG GET maxmemory after setting it?

After running CONFIG SET maxmemory 1048576 in Redis, what will CONFIG GET maxmemory return?

Redis
CONFIG SET maxmemory 1048576
CONFIG GET maxmemory
A["maxmemory", "1mb"]
B["maxmemory", "0"]
CError: maxmemory is read-only
D["maxmemory", "1048576"]
Attempts:
2 left
💡 Hint

Remember Redis stores memory sizes in bytes internally.

📝 Syntax
advanced
2:00remaining
Which CONFIG SET command correctly sets maxmemory-policy to allkeys-lru?

Choose the correct Redis command to set the eviction policy to allkeys-lru.

ACONFIG SET maxmemory-policy allkeys-lru
BCONFIG SET maxmemory_policy allkeys-lru
CCONFIG SET maxmemory policy allkeys-lru
DCONFIG SET maxmemory-policy='allkeys-lru'
Attempts:
2 left
💡 Hint

Redis configuration keys use hyphens, not underscores or spaces.

❓ optimization
advanced
2:00remaining
How does setting maxmemory-policy to volatile-lru affect Redis behavior?

If Redis is configured with maxmemory-policy volatile-lru, what happens when memory limit is reached?

ARedis evicts only keys with an expiration set, using least recently used order.
BRedis evicts any keys regardless of expiration, using least recently used order.
CRedis refuses to evict keys and returns errors on writes.
DRedis deletes keys randomly without considering expiration.
Attempts:
2 left
💡 Hint

Consider what 'volatile' means in Redis eviction policies.

🔧 Debug
expert
3:00remaining
Why does Redis reject CONFIG SET maxmemory 0 in some versions?

In some Redis versions, running CONFIG SET maxmemory 0 causes an error. Why?

ABecause 0 disables maxmemory, which is invalid in those versions.
BBecause 0 is interpreted as unlimited memory, which is not allowed.
CBecause maxmemory must be set to a positive integer or -1 to disable.
DBecause the command syntax requires quotes around 0.
Attempts:
2 left
💡 Hint

Check Redis documentation on valid maxmemory values.

Practice

(1/5)
1. Why is it important to configure Redis properly before using it in a project?
easy
A. Because configuration is only needed for security reasons
B. Because Redis does not work without configuration files
C. Because configuration files store the data permanently
D. Because configuration controls how Redis behaves and performs

Solution

  1. Step 1: Understand Redis configuration role

    Redis configuration sets how Redis behaves and performs, affecting speed and features.
  2. Step 2: Evaluate the options

    Only Because configuration controls how Redis behaves and performs correctly states the importance of configuration controlling behavior and performance.
  3. Final Answer:

    Because configuration controls how Redis behaves and performs -> Option D
  4. Quick Check:

    Configuration controls behavior = A [OK]
Hint: Remember: configuration shapes Redis behavior and speed [OK]
Common Mistakes:
  • Thinking Redis won't work without config files
  • Confusing configuration with data storage
  • Assuming config is only for security
2. Which of the following is the correct Redis command to check the current value of a configuration setting?
easy
A. GET CONFIG <setting_name>
B. CONFIG SET <setting_name>
C. CONFIG GET <setting_name>
D. SET CONFIG <setting_name>

Solution

  1. Step 1: Recall Redis commands for configuration

    To check a setting, Redis uses CONFIG GET followed by the setting name.
  2. Step 2: Identify correct syntax

    Only CONFIG GET <setting_name> uses the correct command and order: CONFIG GET <setting_name>.
  3. Final Answer:

    CONFIG GET <setting_name> -> Option C
  4. Quick Check:

    Check config with CONFIG GET = A [OK]
Hint: Use CONFIG GET to view settings, CONFIG SET to change [OK]
Common Mistakes:
  • Mixing up GET and SET commands
  • Using wrong command order
  • Assuming GET CONFIG is valid
3. Given the Redis commands below, what will be the output of CONFIG GET maxmemory after running them?
CONFIG SET maxmemory 100mb
CONFIG SET maxmemory-policy allkeys-lru
CONFIG GET maxmemory
medium
A. Error: Invalid command
B. ["maxmemory", "100mb"]
C. ["maxmemory-policy", "allkeys-lru"]
D. ["maxmemory", "0"]

Solution

  1. Step 1: Understand the commands executed

    The first command sets maxmemory to 100mb, the second sets eviction policy, the third retrieves maxmemory.
  2. Step 2: Predict output of CONFIG GET maxmemory

    CONFIG GET returns the setting name and its current value, so it returns ["maxmemory", "100mb"].
  3. Final Answer:

    ["maxmemory", "100mb"] -> Option B
  4. Quick Check:

    CONFIG GET maxmemory = ["maxmemory", "100mb"] [OK]
Hint: CONFIG GET returns setting name and current value as array [OK]
Common Mistakes:
  • Expecting policy value from maxmemory GET
  • Assuming default 0 value after set
  • Thinking command causes error
4. You run the command CONFIG SET maxmemory 500mb but Redis returns an error. What is the most likely cause?
medium
A. The maxmemory value is too large for the server's available memory
B. The command syntax is incorrect
C. Redis does not support maxmemory configuration
D. You must restart Redis before changing maxmemory

Solution

  1. Step 1: Analyze the error cause for CONFIG SET maxmemory

    Redis may reject setting maxmemory if the value exceeds available system memory.
  2. Step 2: Check other options for validity

    Syntax is correct, Redis supports maxmemory, and restart is not required for this setting.
  3. Final Answer:

    The maxmemory value is too large for the server's available memory -> Option A
  4. Quick Check:

    Memory limit too high causes error = B [OK]
Hint: Check server memory before setting maxmemory [OK]
Common Mistakes:
  • Assuming syntax error without checking
  • Thinking Redis lacks maxmemory setting
  • Believing restart is always needed
5. You want Redis to automatically remove least recently used keys when memory is full. Which configuration changes should you apply?
hard
A. CONFIG SET maxmemory 200mb and CONFIG SET maxmemory-policy allkeys-lru
B. CONFIG SET maxmemory 0 and CONFIG SET maxmemory-policy noeviction
C. CONFIG SET maxmemory 200mb and CONFIG SET maxmemory-policy volatile-ttl
D. CONFIG SET maxmemory 0 and CONFIG SET maxmemory-policy volatile-lru

Solution

  1. Step 1: Identify the desired behavior

    You want Redis to evict least recently used keys from all keys when memory is full.
  2. Step 2: Match configuration to behavior

    Setting maxmemory to a limit (e.g., 200mb) enables memory limit. Setting maxmemory-policy to allkeys-lru evicts least recently used keys from all keys.
  3. Step 3: Evaluate other options

    Options with maxmemory 0 disable memory limit. Policies like noeviction or volatile-ttl do not evict all keys LRU.
  4. Final Answer:

    CONFIG SET maxmemory 200mb and CONFIG SET maxmemory-policy allkeys-lru -> Option A
  5. Quick Check:

    Set memory limit + allkeys-lru policy = C [OK]
Hint: Set maxmemory limit and allkeys-lru policy for LRU eviction [OK]
Common Mistakes:
  • Setting maxmemory to 0 disables eviction
  • Choosing wrong eviction policy
  • Confusing volatile and allkeys policies
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard