# `Nebulex.Adapters.Redis.Serializer`
[🔗](https://github.com/elixir-nebulex/nebulex_redis_adapter/blob/v3.0.0/lib/nebulex/adapters/redis/serializer.ex#L1)

A **Serializer** encodes keys and values sent to Redis,
and decodes keys and values in the command output.

See [Redis Strings](https://redis.io/docs/data-types/strings/).

# `decode_key`

```elixir
@callback decode_key(key :: binary(), opts :: [any()]) :: any()
```

Decodes `key` with the given `opts`.

# `decode_value`

```elixir
@callback decode_value(value :: binary(), opts :: [any()]) :: any()
```

Decodes `value` with the given `opts`.

# `encode_key`

```elixir
@callback encode_key(key :: any(), opts :: [any()]) :: iodata()
```

Encodes `key` with the given `opts`.

# `encode_value`

```elixir
@callback encode_value(value :: any(), opts :: [any()]) :: iodata()
```

Encodes `value` with the given `opts`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
