How to Connect to Caching Database Clusters

Redis is an open source, key-value database built with an in-memory design that emphasizes speed. It has support for rich data types, atomic operations, and Lua scripting.


You can connect to DigitalOcean Managed Databases using command line tools and other third-party clients. This guide explains where to find your Caching database’s connection details and how to use them to configure tools and clients.

This method uses Let’s Encrypt certification, which does not require that you download a CA certificate in order to connect.

Retrieve Database Connection Details Using the CLI

How to Retrieve Database Connection Details Using the DigitalOcean CLI
  1. Install doctl, the DigitalOcean command-line tool.

  2. Create a personal access token and save it for use with doctl.

  3. Use the token to grant doctl access to your DigitalOcean account.

              doctl auth init
              
  4. Finally, run doctl databases connection. Basic usage looks like this, but you can read the usage docs for more details:

                doctl databases connection <database-cluster-id> [flags]
              

    The following example retrieves the connection details for a database cluster with the ID f81d4fae-7dec-11d0-a765-00a0c91e6bf6:

                  doctl databases connection f81d4fae-7dec-11d0-a765-00a0c91e6bf6
                

Retrieve Database Connection Details Using the API

This API call retrieves the information about your database, including its connection details. The connection details are located in the returned connection JSON object.

How to Retrieve Database Connection Details Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.

  2. Send a GET request to https://api.digitalocean.com/v2/databases/{database_cluster_uuid}

    cURL

    Using cURL:

                    curl -X GET \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
      "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30"
                  

    Go

    Using Godo, the official DigitalOcean V2 API client for Go:

                    import (
        "context"
        "os"
    
        "github.com/digitalocean/godo"
    )
    
    func main() {
        token := os.Getenv("DIGITALOCEAN_TOKEN")
    
        client := godo.NewFromToken(token)
        ctx := context.TODO()
    
        cluster, _, err := client.Databases.Get(ctx, "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30")
    }
                  

    Python

                    import os
    from pydo import Client
    
    client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))
    
    get_resp = client.databases.get_cluster(database_cluster_uuid="a7a89a")
                  

View Caching Cluster Connection Details

You use your database’s connection details to configure tools, applications, and resources that connect to the database. To view your database’s connection details, click the name of the cluster on the Databases page to go to its Overview page.

Databases Overview screen showing connection string

You can view customized connection details based on whether you want to connect using the cluster’s public or private network (VPC) interface. The Public network and Private network options generate connection details based on if you want to connect via the cluster’s public hostname or the cluster’s private hostname. Only other resources in the same VPC network as the cluster can access it using its private hostname.

You can also choose to view the connection details in three different formats:

  • Connection parameters: Database information meant for application configuration, such as configuring connections for Redsmin and Redis Desktop Manager.

  • Connection string: A condensed string that you can pass to a client on the command line.

  • Flags: A complete redli command that supplies the connection variables as individual flags.

We recommend the flags format because the readability can help if you want to customize the way you connect.

By default, the control panel doesn’t reveal the cluster’s password for security reasons. Click Copy to copy connection details with the password, or click show-password to reveal the password.

Anatomy of the Flags Format

The connection string passes different parameters to redli via Flags. Here’s a high-level breakdown of what information those flags correspond to:

  • Hostname and Port: The hostname is specified with the -h flag, and tells your client computer how to reach the cluster. Port is specified with the -p flag. If you do not specify a port, the client attempts to use the default Caching port, 6379.

  • Password: The password is specified with the -a (or --auth) flag. If you do not use the -a flag, you will have to explicitly use the AUTH command once connected.

  • Encryption: Caching managed databases on DigitalOcean require you to connect using SSL/TLS. To do this with redli, specify the encryption with the --tls flag.

  • Other Flags: You can find a more comprehensive list of the flags you can pass to the redli command in the official documentation for redli.

Connect to the Database

To connect to Caching database clusters from the command line, you need three things:

  • To add your local computer to the database’s trusted sources.

  • To install a Redis client on your local computer. We recommend Redli, a Redis interactive terminal from IBM.

    Note
    The default Redis command line client, redis-cli does not support TLS/SSL, but all connections to all DigitalOcean database clusters are encrypted with TLS/SSL to protect your data in transit. There are workarounds, but we recommend Redli for simplicity and ease of use.
  • To reference the database cluster’s connection details, which tells your client how to connect to the cluster.

To connect using the flags format with Redli, paste the entire command from the control panel into your terminal and replace the first term, redis-cli, with redli:

    
        
            
redli --tls -h redis-test-do-user-4915853-0.db.ondigitalocean.com -a your_password -p 25061

        
    

When you connect successfully, you arrive at the Redis prompt, which displays the Redis version number:

Connected to 5.0.4
>

From here, you can run CLI commands. Learn more about redli on the official redli GitHub and the IBM Cloud blog. Learn more about redis-cli commands on the official Redis command documentation.

If you’re having trouble connecting to the database, you can troubleshoot the connection using our Support page, or you can reference Redli’s connection documentation.