Bird
Raised Fist0
Redisquery~5 mins

Eviction policies (LRU, LFU, random) in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does LRU stand for in Redis eviction policies?
LRU stands for Least Recently Used. It removes the keys that have not been accessed for the longest time when memory is full.
Click to reveal answer
beginner
Explain the LFU eviction policy in Redis.
LFU means Least Frequently Used. It removes keys that are used the least often, based on how many times they were accessed.
Click to reveal answer
beginner
What happens when Redis uses the random eviction policy?
Redis randomly removes keys to free memory, without considering usage or frequency.
Click to reveal answer
beginner
Why are eviction policies important in Redis?
Eviction policies help Redis manage limited memory by deciding which keys to remove when memory is full, keeping the system fast and stable.
Click to reveal answer
intermediate
Which eviction policy would be best if you want to keep the most recently used data in Redis?
The LRU (Least Recently Used) policy is best because it removes the oldest unused data, keeping recent data available.
Click to reveal answer
What does the LRU eviction policy remove in Redis?
AKeys that are the largest in size
BKeys that were least recently accessed
CKeys randomly chosen
DKeys that were most frequently accessed
Which eviction policy removes keys based on how often they are used?
ALFU
BLRU
CRandom
DFIFO
If Redis uses the random eviction policy, which keys get removed?
AThe largest keys
BThe least frequently used keys
CThe oldest keys
DRandomly selected keys
Why might you choose LRU over LFU in Redis?
ALRU is simpler and tracks recent usage, good for caching
BLRU removes keys randomly
CLFU removes the newest keys
DLFU is faster to compute
What is the main goal of eviction policies in Redis?
ATo backup data automatically
BTo increase disk space
CTo manage memory by removing keys when full
DTo encrypt stored keys
Describe how the LRU and LFU eviction policies differ in Redis.
Think about whether the policy tracks time or frequency of access.
You got /4 concepts.
    Explain why Redis needs eviction policies and give an example of when one might be used.
    Consider what happens when Redis runs out of memory.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Redis eviction policy removes the least recently used keys first when memory is full?
      easy
      A. LRU (Least Recently Used)
      B. LFU (Least Frequently Used)
      C. Random
      D. No eviction

      Solution

      1. Step 1: Understand eviction policies in Redis

        Redis uses eviction policies to free memory when it is full by removing keys based on certain rules.
      2. Step 2: Identify the policy that removes least recently used keys

        LRU stands for Least Recently Used, which means it removes keys that have not been accessed for the longest time.
      3. Final Answer:

        LRU (Least Recently Used) -> Option A
      4. Quick Check:

        Eviction policy removing least recently used keys = LRU [OK]
      Hint: LRU = removes oldest unused keys first [OK]
      Common Mistakes:
      • Confusing LRU with LFU
      • Thinking random eviction is based on usage
      • Assuming no eviction means keys are removed
      2. Which of the following is the correct Redis configuration directive to set the eviction policy to LFU?
      easy
      A. maxmemory-policy allkeys-lfu
      B. maxmemory-policy random-eviction
      C. maxmemory-policy volatile-lru
      D. maxmemory-policy noeviction

      Solution

      1. Step 1: Recall Redis maxmemory-policy options

        Redis uses the 'maxmemory-policy' directive to set eviction behavior, with options like 'allkeys-lfu' for LFU eviction.
      2. Step 2: Identify the correct syntax for LFU eviction

        The correct directive for LFU eviction on all keys is 'maxmemory-policy allkeys-lfu'.
      3. Final Answer:

        maxmemory-policy allkeys-lfu -> Option A
      4. Quick Check:

        LFU eviction config = maxmemory-policy allkeys-lfu [OK]
      Hint: LFU config uses 'allkeys-lfu' in maxmemory-policy [OK]
      Common Mistakes:
      • Using 'random-eviction' instead of LFU
      • Confusing 'volatile-lru' with LFU
      • Missing 'maxmemory-policy' keyword
      3. Given Redis is configured with the maxmemory-policy allkeys-lru and memory is full, what happens when a new key is added?
      medium
      A. A random key is evicted to make space
      B. The least frequently used key is evicted to make space
      C. The least recently used key is evicted to make space
      D. The new key is rejected and not added

      Solution

      1. Step 1: Understand the 'allkeys-lru' eviction policy

        This policy evicts the least recently used key among all keys when memory is full.
      2. Step 2: Predict behavior when adding a new key

        When memory is full, Redis removes the least recently used key to free space for the new key.
      3. Final Answer:

        The least recently used key is evicted to make space -> Option C
      4. Quick Check:

        allkeys-lru evicts least recently used key [OK]
      Hint: allkeys-lru evicts oldest used key on full memory [OK]
      Common Mistakes:
      • Confusing LRU with LFU eviction
      • Thinking random eviction applies here
      • Assuming new keys are rejected automatically
      4. You configured Redis with maxmemory-policy volatile-lfu but notice keys without expiration are never evicted. What is the likely cause?
      medium
      A. LFU policy does not work with volatile keys
      B. Only keys with expiration are considered for eviction in volatile-lfu
      C. Redis randomly evicts keys regardless of policy
      D. Keys without expiration are evicted first

      Solution

      1. Step 1: Understand volatile-lfu eviction policy

        Volatile policies only evict keys that have an expiration set (TTL).
      2. Step 2: Analyze why keys without expiration remain

        Since keys without expiration are not eligible, they are never evicted under volatile-lfu.
      3. Final Answer:

        Only keys with expiration are considered for eviction in volatile-lfu -> Option B
      4. Quick Check:

        Volatile policies evict only expiring keys [OK]
      Hint: Volatile policies evict only keys with expiration [OK]
      Common Mistakes:
      • Assuming LFU ignores expiration
      • Thinking random eviction applies here
      • Believing keys without expiration are evicted first
      5. You want Redis to evict keys randomly but only among keys with expiration set. Which eviction policy should you configure?
      hard
      A. volatile-lru
      B. allkeys-random
      C. allkeys-lfu
      D. volatile-random

      Solution

      1. Step 1: Understand eviction policy prefixes

        'allkeys-' applies to all keys; 'volatile-' applies only to keys with expiration.
      2. Step 2: Identify random eviction among volatile keys

        'volatile-random' evicts keys randomly but only among keys with expiration set.
      3. Final Answer:

        volatile-random -> Option D
      4. Quick Check:

        Random eviction on expiring keys = volatile-random [OK]
      Hint: Volatile-random evicts random expiring keys only [OK]
      Common Mistakes:
      • Choosing allkeys-random which evicts all keys
      • Confusing LFU or LRU with random eviction
      • Selecting volatile-lru which is not random
      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