redis/hgetall

Get All Hash Fields

Retrieve all fields and their values from a hash.

redis
hash
data-structure
read
bulk

Command

HGETALL key

Explanation

The `HGETALL` command retrieves the complete set of fields and their corresponding values from a hash. The result is returned as an alternating list of fields and values. It’s useful for loading full objects into memory at once, but should be used carefully with large hashes to avoid performance issues.

Common Use Cases

  • Fetching an entire user profile or configuration record
  • Exporting full hash data for inspection or synchronization
  • Debugging or visualizing object-like data structures

Best Practices

  • Use `HGETALL` only when you need all fields; otherwise, prefer `HMGET`
  • Convert the returned list into a map/object in application code
  • Avoid storing extremely large hashes; consider splitting data logically

Common Mistakes to Avoid

  • Using `HGETALL` on large hashes, causing heavy memory load
  • Expecting the result to be automatically formatted as JSON

Troubleshooting

Problem: Empty result set

Solution: Verify the key exists and is a hash using `TYPE key` or `EXISTS key`.

Problem: Performance issues with large hashes

Solution: Retrieve specific fields using `HMGET` or implement pagination logic.

Examples

Retrieve all fields and values from hash 'user:1000'

HGETALL user:1000

Retrieve all product details stored as a hash

HGETALL product:1