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
{
"operation": "create",
"metadata": {
"key": "key1"
"data": {
"Hello": "World",
"Lorem": "Ipsum"
}
}
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
{
"data": {
"Hello": "World",
"Lorem": "Ipsum"
}
}
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 .
Install Redis into your cluster.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis bitnami/redis --set image.tag=6.2
Run
kubectl get pods
to see the Redis containers now running in your cluster.Add
redis-master:6379
as theredisHost
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, runcertutil -decode encoded.b64 password.txt
, which will put your redis password in a text file calledpassword.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:- name: redisPassword
value: "lhDOkwTlp0"
Note
The Dapr CLI automatically deploys a local redis instance in self hosted mode as part of the command.