# Supported connection clients

Info about Redis client libraries and supported clients when using the discovery service.

| Redis Software |
| --- |

You can connect to Redis Software databases programmatically using client libraries.

## Redis client libraries

To connect an application to a Redis database hosted by Redis Software, use a [client library](/content/docs/latest/develop/clients/index.html) appropriate for your programming language.

You can also use the `redis-cli` utility to connect to a database from the command line.

For examples of each approach, see the [Redis Software quickstart](/content/docs/latest/operate/rs/installing-upgrading/quickstarts/redis-enterprise-software-quickstart/index.html).

Note: You cannot use client libraries to configure Redis Software. Instead, use:

- The Redis Software [Cluster Manager UI](/content/docs/latest/operate/rs/installing-upgrading/quickstarts/redis-enterprise-software-quickstart/index.html)
- The [REST API](/content/docs/latest/operate/rs/references/rest-api/index.html)
- Command-line utilities, such as [`rladmin`](/content/docs/latest/operate/rs/references/cli-utilities/rladmin/index.html)

### Discovery service

We recommend the following clients when using a [discovery service](/content/docs/latest/operate/rs/databases/durability-ha/discovery-service/index.html) based on the Redis Sentinel API:

- [redis-py](/content/docs/latest/develop/clients/redis-py/index.html) (Python client)
- [StackExchange.Redis](/content/docs/latest/develop/clients/dotnet/index.html) (.NET client)
- [Jedis](/content/docs/latest/develop/clients/jedis/index.html) (synchronous Java client)
- [Lettuce](/content/docs/latest/develop/clients/lettuce/index.html) (asynchronous Java client)
- [go-redis](/content/docs/latest/develop/clients/go/index.html) (Go client)
- [Hiredis](https://github.com/redis/hiredis) (C client)

If you need to use another client, you can use [Sentinel Tunnel](https://github.com/RedisLabs/sentinel_tunnel) to discover the current Redis master with Sentinel and create a TCP tunnel between a local port on the client and the master.
