Object storage with hashes in Redis - Time & Space Complexity
When storing objects using hashes in Redis, it is important to understand how the time to store or retrieve data changes as the object size grows.
We want to know how the number of operations changes when we add more fields to a hash.
Analyze the time complexity of the following Redis commands storing an object as a hash.
HSET user:1000 name "Alice"
HSET user:1000 age "30"
HSET user:1000 email "alice@example.com"
HGETALL user:1000
This code stores multiple fields of a user object in a Redis hash and then retrieves all fields at once.
Look for repeated actions that affect performance.
- Primary operation: Setting or getting each field in the hash.
- How many times: Once per field stored or retrieved.
As the number of fields in the hash grows, the time to store or retrieve all fields grows roughly in direct proportion.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 fields | About 10 operations |
| 100 fields | About 100 operations |
| 1000 fields | About 1000 operations |
Pattern observation: The time grows linearly as the number of fields increases.
Time Complexity: O(n)
This means the time to store or retrieve all fields grows directly with the number of fields in the hash.
[X] Wrong: "Storing or getting a hash is always fast and constant time no matter how many fields it has."
[OK] Correct: Each field requires its own operation, so more fields mean more work and longer time.
Understanding how Redis hashes scale helps you explain data storage choices clearly and shows you know how performance changes with data size.
"What if we used multiple smaller hashes instead of one big hash? How would that affect the time complexity when retrieving all data?"