What is Redis - Complexity Analysis
We want to understand how the time Redis takes to do tasks changes as the amount of data grows.
How does Redis handle more data without slowing down too much?
Analyze the time complexity of the following Redis commands.
SET user:1 "Alice"
GET user:1
LPUSH messages "Hello"
LRANGE messages 0 9
This code sets and gets a simple key, adds a message to a list, and reads the first 10 messages.
Look for repeated actions that take time.
- Primary operation: Reading or writing data to keys or lists.
- How many times: Each command runs once, but some commands like LRANGE read multiple items.
As the data grows, some commands take longer, others stay quick.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | Quick for SET/GET, LRANGE reads 10 items |
| 100 | Still quick for SET/GET, LRANGE reading 10 items stays same |
| 1000 | SET/GET still fast, LRANGE reading 10 items still same time |
Pattern observation: Simple key commands stay fast no matter data size; commands reading many items grow with how many items they read.
Time Complexity: O(1) for SET and GET, O(m) for LRANGE where m is number of items read
This means simple commands take the same time no matter data size, but commands reading many items take longer as more items are read.
[X] Wrong: "All Redis commands take longer as the database grows."
[OK] Correct: Many Redis commands like SET and GET run in constant time, so they stay fast even if the database is big.
Knowing how Redis commands scale helps you explain why Redis is great for fast data access, a skill useful in many real projects.
"What if we changed LRANGE to read all items in a very long list? How would the time complexity change?"