Bird
Raised Fist0
Redisquery~5 mins

LREM for element removal in Redis

Choose your learning style10 modes available
Introduction
LREM helps you remove specific items from a list in Redis. It makes it easy to clean up or update your list data.
You want to delete all occurrences of a word from a list of tags.
You need to remove a specific user's name from a list of online users.
You want to delete only the first few times a value appears in a list.
You want to keep your list tidy by removing unwanted repeated entries.
Syntax
Redis
LREM key count value
The 'count' controls how many matching elements to remove and from which direction.
If count > 0, remove from head to tail; if count < 0, remove from tail to head; if count = 0, remove all matching elements.
Examples
Removes the first 2 occurrences of "apple" from the list named mylist, starting from the front.
Redis
LREM mylist 2 "apple"
Removes the last occurrence of "banana" from mylist, starting from the end.
Redis
LREM mylist -1 "banana"
Removes all occurrences of "orange" from mylist.
Redis
LREM mylist 0 "orange"
Sample Program
First, we add fruits to the list. Then we remove the first 2 "apple" entries. Finally, we get the full list to see the result.
Redis
RPUSH fruits "apple" "banana" "apple" "orange" "apple"
LREM fruits 2 "apple"
LRANGE fruits 0 -1
OutputSuccess
Important Notes
LREM returns the number of removed elements.
If the list or value does not exist, LREM returns 0 and does nothing.
Use LRANGE to check the list contents after removal.
Summary
LREM removes specific elements from a Redis list.
The count argument controls how many and from which end elements are removed.
It helps keep your list data clean and updated.

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