# How to use Redis Hashes

> Learn how to use Redis hashes to store object-like items with multiple fields under one key, using HMSET, HGETALL, HSET and HINCRBY to manage their values.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-07-30 | Topics: [Redis](https://flaviocopes.com/tags/redis/) | Canonical: https://flaviocopes.com/redis-hashes/

So far with Lists and Sets we saw how to correlate a key with a value, or a group of values.

Hashes let us associate more than one value to a single key, and they are perfect to store object-like items.

For example, a person has a name and an age.

We can create a `person:1` hash:

```
HMSET person:1 name "Flavio" age 37
```

To get all the properties of a user, use `HGETALL`:

```
HGETALL person:1
```

![Terminal showing HMSET creating person:1 hash and HGETALL returning name Flavio and age 37](https://flaviocopes.com/images/redis-hashes/Screenshot_2020-03-30_at_18.13.19.png)

You can update a hash property using `HSET`:

```
HSET person:1 age 38
```

You can increment a value stored in a hash using `HINCRBY`:

```
HINCRBY person:1 age 2
```

See all the hash commands [here](https://redis.io/commands#hash).
