Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Open source RSS

redis

Caution

This is an experimental module.

While we intend to keep experimental modules as stable as possible, we may need to introduce breaking changes. This could happen at future k6 releases until the module becomes fully stable and graduates as a k6 core module. For more information, refer to the extension graduation process.

Experimental modules maintain a high level of stability and follow regular maintenance and security measures. Feel free to open an issue if you have any feedback or suggestions.

The Redis 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.

ClassDescription
ClientClient that exposes allowed interactions with Redis.
OptionsOptions used to configure the behavior of the Redis Client.

Notes on usage

The Client exposes a promise-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).