📖 Scenario: You are managing a Redis database server that stores cached data for a web application. To prevent Redis from using too much memory and affecting other services on the server, you need to configure the maximum memory Redis can use.
🎯 Goal: Set up a Redis configuration to limit the maximum memory usage to 100 megabytes and verify the setting.
📋 What You'll Learn
Create a Redis configuration file with the maxmemory setting set to 100mb
Add a maxmemory-policy setting to specify how Redis should behave when maxmemory is reached
Use the Redis CLI to check the current maxmemory setting
Confirm the maxmemory-policy is correctly set in the configuration
💡 Why This Matters
🌍 Real World
Limiting Redis memory usage prevents it from consuming all server RAM, ensuring other applications run smoothly.
💼 Career
Configuring Redis memory settings is a common task for database administrators and backend developers managing caching layers.
Progress0 / 4 steps
1
Create Redis configuration file with maxmemory
Create a Redis configuration file named redis.conf and add the line maxmemory 100mb to set the maximum memory to 100 megabytes.
Redis
Hint
The configuration file is a plain text file. Just add the line maxmemory 100mb.
2
Add maxmemory-policy to configuration
In the same redis.conf file, add the line maxmemory-policy allkeys-lru to specify that Redis should remove the least recently used keys when maxmemory is reached.
Redis
Hint
The maxmemory-policy controls eviction behavior. Use allkeys-lru to evict least recently used keys from all keys.
3
Check maxmemory setting with Redis CLI
Use the Redis CLI command CONFIG GET maxmemory to check the current maxmemory setting on the running Redis server.
Redis
Hint
Run redis-cli CONFIG GET maxmemory in your terminal connected to Redis.
4
Verify maxmemory-policy setting with Redis CLI
Use the Redis CLI command CONFIG GET maxmemory-policy to verify that the maxmemory-policy is set to allkeys-lru.
Redis
Hint
Run redis-cli CONFIG GET maxmemory-policy to confirm the eviction policy.
Practice
(1/5)
1. What does the maxmemory setting in Redis control?
easy
A. The maximum amount of memory Redis can use
B. The maximum number of clients connected
C. The maximum size of a single key
D. The maximum number of commands per second
Solution
Step 1: Understand the purpose of maxmemory
The maxmemory setting limits how much memory Redis can use to avoid overloading the server.
Step 2: Compare options with this purpose
Only the maximum amount of memory Redis can use matches this description, others relate to clients, keys, or commands, which are unrelated.
Final Answer:
The maximum amount of memory Redis can use -> Option A
2. Which of the following is the correct syntax to set maxmemory to 512 megabytes using CONFIG SET in Redis?
easy
A. CONFIG SET maxmemory 512mb
B. CONFIG SET maxmemory 512MB
C. CONFIG SET maxmemory 512m
D. CONFIG SET maxmemory 512
Solution
Step 1: Recall Redis size suffix format
Redis accepts size suffixes like KB, MB, GB in uppercase for memory settings.
Step 2: Check each option's suffix
CONFIG SET maxmemory 512MB uses 'MB' uppercase which is correct; CONFIG SET maxmemory 512mb uses lowercase 'mb' which is invalid; CONFIG SET maxmemory 512m uses 'm' which is not recognized; CONFIG SET maxmemory 512 has no suffix, so it's bytes, not megabytes.
Final Answer:
CONFIG SET maxmemory 512MB -> Option B
Quick Check:
Use uppercase suffixes like MB for megabytes [OK]
Hint: Use uppercase suffixes like MB, GB for sizes [OK]
Common Mistakes:
Using lowercase suffixes like mb
Using incomplete suffix like m
Omitting suffix and expecting megabytes
3. Given the command CONFIG SET maxmemory 1GB executed on a Redis server, what will be the effect?
medium
A. Redis will limit its memory usage to 1 gigabyte
B. Redis will allow unlimited memory usage
C. Redis will limit memory to 1 byte
D. Redis will throw a syntax error
Solution
Step 1: Interpret the command meaning
The command sets maxmemory to 1GB, meaning Redis should limit memory use to 1 gigabyte.
Step 2: Validate the command syntax and effect
The syntax is correct and Redis supports 'GB' suffix, so it will enforce the memory limit.
Final Answer:
Redis will limit its memory usage to 1 gigabyte -> Option A
Quick Check:
CONFIG SET maxmemory 1GB limits memory to 1GB [OK]
Hint: CONFIG SET maxmemory with GB limits memory to gigabytes [OK]
Common Mistakes:
Thinking it sets unlimited memory
Confusing bytes with gigabytes
Expecting syntax error from correct command
4. You run CONFIG SET maxmemory 100mb on Redis but it returns an error. What is the likely cause?
medium
A. Redis does not support changing maxmemory at runtime
B. maxmemory must be set in bytes only, no suffix allowed
C. The value 100mb is too large for Redis
D. The suffix 'mb' is lowercase and invalid
Solution
Step 1: Check Redis suffix case sensitivity
Redis requires uppercase suffixes like MB, GB for memory sizes.
Step 2: Analyze the error cause
Using lowercase 'mb' causes syntax error; changing to 'MB' fixes it.
Final Answer:
The suffix 'mb' is lowercase and invalid -> Option D
Quick Check:
Use uppercase suffixes for memory sizes [OK]
Hint: Always use uppercase suffixes like MB, GB [OK]
Common Mistakes:
Assuming maxmemory can't be changed at runtime
Using lowercase suffix causing errors
Thinking maxmemory only accepts bytes
5. You want Redis to use at most 2 gigabytes of memory and automatically evict keys when the limit is reached. Which two commands should you run?
hard
A. CONFIG SET maxmemory 2gb and CONFIG SET maxmemory-policy allkeys-random
B. CONFIG SET maxmemory 2GB and CONFIG SET maxmemory-policy noeviction
C. CONFIG SET maxmemory 2GB and CONFIG SET maxmemory-policy allkeys-lru
D. CONFIG SET maxmemory 2048 and CONFIG SET maxmemory-policy volatile-lru
Solution
Step 1: Set maxmemory to 2 gigabytes correctly
Use CONFIG SET maxmemory 2GB with uppercase suffix for 2 gigabytes.
Step 2: Choose eviction policy that evicts keys automatically
allkeys-lru evicts least recently used keys from all keys, enabling automatic eviction.
Step 3: Verify other options
Lowercase '2gb' with allkeys-random uses invalid suffix and random eviction; 2GB with noeviction disables eviction; 2048 (bytes, not GB) with volatile-lru limits to tiny memory and only evicts expiring keys.
Final Answer:
CONFIG SET maxmemory 2GB and CONFIG SET maxmemory-policy allkeys-lru -> Option C
Quick Check:
Set maxmemory + allkeys-lru for eviction [OK]
Hint: Use uppercase GB and allkeys-lru for eviction [OK]
Common Mistakes:
Using lowercase suffix like '2gb'
Choosing noeviction policy
Setting maxmemory without suffix
Using volatile-lru when all keys need eviction
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.