Bird
Raised Fist0
Redisquery~20 mins

LREM for element removal in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
LREM Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
2:00remaining
What is the result of this LREM command?
Given a Redis list mylist with elements ["apple", "banana", "apple", "cherry", "apple"], what will be the list after running LREM mylist 2 "apple"?
Redis
LREM mylist 2 "apple"
A["apple", "banana", "cherry"]
B["banana", "apple", "cherry", "apple"]
C["banana", "cherry"]
D["banana", "cherry", "apple"]
Attempts:
2 left
💡 Hint
LREM removes elements equal to the value, starting from the head, up to the count specified.
❓ query_result
intermediate
2:00remaining
What happens when LREM count is negative?
Given a Redis list mylist with elements ["x", "y", "x", "z", "x"], what will be the list after running LREM mylist -1 "x"?
Redis
LREM mylist -1 "x"
A["x", "y", "x", "z"]
B["y", "x", "z", "x"]
C["x", "y", "z", "x"]
D["y", "x", "z"]
Attempts:
2 left
💡 Hint
Negative count removes elements from the tail of the list.
📝 Syntax
advanced
2:00remaining
Which LREM command syntax is correct?
Select the syntactically correct Redis LREM command to remove 3 occurrences of "orange" from list fruits:
ALREM fruits "3" "orange"
BLREM fruits 3 orange
CLREM fruits 3 "orange"
DLREM fruits "orange" 3
Attempts:
2 left
💡 Hint
The count must be a number, and the value a string argument.
❓ optimization
advanced
2:00remaining
How to efficiently remove all occurrences of an element from a large Redis list?
You want to remove all occurrences of "blue" from a very large Redis list colors. Which approach is most efficient?
AUse LREM colors 0 "blue" to remove all occurrences in one command
BUse LREM colors 1 "blue" repeatedly until no more removals
CUse LPOP repeatedly and reinsert elements except "blue"
DUse RPOP repeatedly and reinsert elements except "blue"
Attempts:
2 left
💡 Hint
LREM with count 0 removes all matching elements at once.
🔧 Debug
expert
2:00remaining
Why does this LREM command not remove any elements?
Given a Redis list pets with elements ["dog", "cat", "dog", "bird"], the command LREM pets 1 "Dog" returns 0 and the list remains unchanged. Why?
Redis
LREM pets 1 "Dog"
AThe count parameter must be negative to remove elements
BRedis LREM is case-sensitive; "Dog" does not match "dog"
CThe list key "pets" does not exist
DLREM only removes elements from the tail when count is positive
Attempts:
2 left
💡 Hint
Check the exact spelling and case of the element to remove.

Practice

(1/5)
1. What does the Redis command LREM mylist 2 "apple" do?
easy
A. Removes up to 2 occurrences of "apple" from the head of the list.
B. Removes all occurrences of "apple" from the list.
C. Removes 2 elements from the tail of the list regardless of value.
D. Removes the first 2 elements of the list.

Solution

  1. Step 1: Understand the LREM command parameters

    LREM takes a key, a count, and a value. The count 2 means remove up to 2 matching elements.
  2. Step 2: Interpret the count sign and value

    Positive count removes from head to tail. So it removes up to 2 "apple" elements starting from the front.
  3. Final Answer:

    Removes up to 2 occurrences of "apple" from the head of the list. -> Option A
  4. Quick Check:

    LREM with positive count removes from head [OK]
Hint: Positive count removes from head; negative from tail [OK]
Common Mistakes:
  • Thinking count removes elements regardless of value
  • Confusing positive and negative count directions
  • Assuming count removes all matches always
2. Which of the following is the correct syntax to remove exactly 3 occurrences of "banana" from the tail of a Redis list named fruits?
easy
A. LREM fruits 3 "banana"
B. LREM fruits -3 "banana"
C. LREM fruits 0 "banana"
D. LREM fruits "banana" 3

Solution

  1. Step 1: Recall LREM syntax

    The syntax is LREM key count value. Negative count removes from tail.
  2. Step 2: Identify correct count for tail removal

    To remove 3 occurrences from tail, count must be -3.
  3. Final Answer:

    LREM fruits -3 "banana" -> Option B
  4. Quick Check:

    Negative count removes from tail [OK]
Hint: Use negative count to remove from tail [OK]
Common Mistakes:
  • Using positive count to remove from tail
  • Swapping value and count positions
  • Using zero count to remove specific elements
3. Given a Redis list colors with elements ["red", "blue", "red", "green", "red"], what will be the list after executing LREM colors 2 "red"?
medium
A. ["blue", "red", "green", "red"]
B. ["red", "blue", "green"]
C. ["blue", "green", "red"]
D. ["red", "blue", "red", "green"]

Solution

  1. Step 1: Identify elements and count

    List is ["red", "blue", "red", "green", "red"]. LREM with count 2 removes up to 2 "red" from head.
  2. Step 2: Remove first 2 "red" from head

    First "red" at index 0 removed, second "red" at index 2 removed. Remaining elements: ["blue", "green", "red"]
  3. Final Answer:

    ["blue", "green", "red"] -> Option C
  4. Quick Check:

    Removed first 2 "red" from head [OK]
Hint: Count 2 removes first 2 matches from head [OK]
Common Mistakes:
  • Removing all "red" elements instead of 2
  • Removing from tail instead of head
  • Confusing list order after removal
4. You run LREM mylist -1 "orange" but it does not remove any element. What could be the reason?
medium
A. The list mylist does not contain "orange".
B. Negative count cannot be used with LREM.
C. The command syntax is incorrect; value must come before count.
D. LREM only removes elements from the head, not the tail.

Solution

  1. Step 1: Check command syntax and usage

    LREM syntax is correct and negative count removes from tail.
  2. Step 2: Consider why no removal happened

    If no elements removed, likely the value "orange" is not in the list.
  3. Final Answer:

    The list mylist does not contain "orange". -> Option A
  4. Quick Check:

    No matching element means no removal [OK]
Hint: No matching value means LREM removes nothing [OK]
Common Mistakes:
  • Thinking negative count is invalid
  • Assuming syntax order is different
  • Believing LREM only removes from head
5. You have a Redis list tasks with elements ["email", "call", "email", "meeting", "email", "call"]. You want to remove all occurrences of "email" except the last one. Which sequence of commands achieves this?
hard
A. LREM tasks -2 "email"
B. LREM tasks 0 "email"
C. LREM tasks -5 "email"
D. LREM tasks 2 "email"

Solution

  1. Step 1: Count total "email" elements

    There are 3 "email" elements at positions 0, 2, 4.
  2. Step 2: Removal strategy

    Positive count removes matches from head-to-tail. Count 2 removes the first two "email"s, leaving the last one.
  3. Step 3: Simulate execution

    Remove index 0, list shifts to ["call", "email", "meeting", "email", "call"], then remove next match at new index 1 (orig 2). Result: ["call", "meeting", "email", "call"].
  4. Final Answer:

    LREM tasks 2 "email" -> Option D
  5. Quick Check:

    Positive count removes first matches from head [OK]
Hint: Positive count removes early matches from head [OK]
Common Mistakes:
  • Using negative count removes later matches from tail
  • Using zero count removes all occurrences
  • Using large negative count removes all if exceeds occurrences
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