Redis binding spec

To setup Redis binding create a component of type . See on how to create and apply a binding configuration.

Warning

The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described .

This component supports output binding with the following operations:

  • create
  • delete

You can store a record in Redis using the create operation. This sets a key to hold a value. If the key already exists, the value is overwritten.

Request

  1. {
  2. "operation": "create",
  3. "metadata": {
  4. "key": "key1"
  5. "data": {
  6. "Hello": "World",
  7. "Lorem": "Ipsum"
  8. }
  9. }

Response

An HTTP 204 (No Content) and empty body is returned if successful.

You can get a record in Redis using the get operation. This gets a key that was previously set.

Request

Response

  1. {
  2. "data": {
  3. "Hello": "World",
  4. "Lorem": "Ipsum"
  5. }
  6. }

You can delete a record in Redis using the delete operation. Returns success whether the key exists or not.

Request

Response

Dapr can use any Redis instance - containerized, running on your local dev machine, or a managed cloud service, provided the version of Redis is 5.0.0 or later.

Note: Dapr does not support Redis >= 7. It is recommended to use Redis 6

The Dapr CLI will automatically create and setup a Redis Streams instance for you. The Redis instance will be installed via Docker when you run dapr init, and the component file will be created in default directory. ($HOME/.dapr/components directory (Mac/Linux) or %USERPROFILE%\.dapr\components on Windows).

You can use Helm to quickly create a Redis instance in our Kubernetes cluster. This approach requires .

  1. Install Redis into your cluster.

    1. helm repo add bitnami https://charts.bitnami.com/bitnami
    2. helm install redis bitnami/redis --set image.tag=6.2
  2. Run kubectl get pods to see the Redis containers now running in your cluster.

  3. Add redis-master:6379 as the redisHost in your redis.yaml file. For example:

    • Windows: Run kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" > encoded.b64, which will create a file with your encoded password. Next, run certutil -decode encoded.b64 password.txt, which will put your redis password in a text file called password.txt. Copy the password and delete the two files.

    • Linux/MacOS: Run kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" | base64 --decode and copy the outputted password.

    Add this password as the redisPassword value in your redis.yaml file. For example:

    1. - name: redisPassword
    2. value: "lhDOkwTlp0"

AWS Redis

Azure Redis

Note

The Dapr CLI automatically deploys a local redis instance in self hosted mode as part of the command.