---
title: "k6/x/redis | Grafana k6 documentation"
description: "k6 client for Redis Database API"
---

# k6/x/redis

The [Redis](https://redis.io/) module provides a client library that makes it possible to interact with Redis directly from a k6 script. With this module, you can:

- Load test Redis
- Use Redis as a data store for test-script logic.

Though the API intends to be thorough and extensive, it does not expose the whole Redis API. Instead, the intent is to expose Redis for use cases most appropriate to k6.

Expand table

| Class                                                               | Description                                                                                                      |
|---------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [Client](/docs/k6/latest/javascript-api/k6-x-redis/client/)         | Client that exposes allowed interactions with Redis.                                                             |
| [Options](/docs/k6/latest/javascript-api/k6-x-redis/redis-options/) | Options used to configure the behavior of the [Redis Client](/docs/k6/latest/javascript-api/k6-x-redis/client/). |

### Notes on usage

The `Client` exposes a [promise](https://javascript.info/promise-basics)-based API. Unlike most other current k6 modules and extensions, which operate in a synchronous manner, the Redis `Client` operates in an asynchronous manner. In practice, this means that using the Redis `Client`’s methods won’t block test execution, and that the test will continue to run even if the Redis `Client` isn’t ready to respond to the request. The `async` and `await` keywords enable asynchronous, promise-based behavior to be written in a cleaner style, avoiding the need to explicitly configure promise chains (for details, refer to the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function)).
