How to Resize Valkey Database Clusters

Validated on 24 Apr 2025 • Last edited on 10 Jun 2026

Valkey is a high-performance, open-source database that stores key-value data in memory, and is designed for caching, message queues, and primary database use. Fully compatible with Redis, Valkey serves as a drop-in replacement.

You can resize existing Valkey database clusters at any time to increase CPU and RAM. To avoid data loss, scaling down is not supported.

Resize a Database Cluster Using Automation

You can resize a database cluster using the DigitalOcean CLI (doctl) or the API.

Resize a Database Cluster via CLI

To resize a database cluster using doctl, you need to provide a value for the --size flag, which specifies the cluster’s new configuration (number of CPUs, amount of RAM, and hard disk space). Use the doctl databases options slugs command to get a list of available values.

How to Resize a Database Cluster Using the DigitalOcean CLI
  1. Install doctl, the official DigitalOcean CLI.
  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 resize. Basic usage looks like this, but you can read the usage docs for more details:
    doctl databases resize <database-cluster-id> [flags]

The following example resizes a PostgreSQL or MySQL database to have two nodes, 16 vCPUs, 64 GB of memory, and 2048 GiB of storage space:

doctl databases resize ca9f591d-9999-5555-a0ef-1c02d1d1e352 --num-nodes 2 --size db-s-16vcpu-64gb --storage-size-mib 2048000 --wait true

Resize a Database Cluster via API

To resize a database cluster using the API, you need to provide a value for the size field, which specifies the cluster’s configuration (number of CPUs, amount of RAM, and hard disk space). Use the /v2/databases/options endpoint to get a list of available values.

How to Resize a Database Cluster Using the DigitalOcean API

Create a personal access token and save it for use with the API.

cURL

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

Using cURL:

curl -X PUT \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-d '{"size":"db-s-4vcpu-8gb", "num_nodes":3, "storage_size_mib":163840}' \
"https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/resize" 

Go

Using Godo, the official DigitalOcean API client for Go:

import (
    "context"
    "github.com/digitalocean/godo"
)

func main() {
    pat := "mytoken"

    client := godo.NewFromToken(pat)
    ctx := context.TODO()

    resizeRequest := &godo.DatabaseResizeRequest{
        SizeSlug: "db-s-4vcpu-8gb",
        NumNodes: 3,
        StorageSizeMib: 163840,
    }
}

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "size": "db-s-4vcpu-8gb",
  "num_nodes": 3,
  "storage_size_mib": 163840
}

update_resp = client.databases.update_cluster_size(database_cluster_uuid="a7a8bas", body=req)

Resize a Database Cluster Using the Control Panel

To resize a Valkey database cluster, go to the Databases page, and select the cluster you want to resize. On the cluster’s Overview page, click the Settings tab.

In the Configuration section, click Edit. Select a tab to view available Shared CPU or Dedicated CPU plans, then choose options under CPU options and Select a plan.

Cluster configuration section, showing available plan options

In the Maximize uptime for critical workloads section (for plans with 2 GB RAM or higher), you can add standby nodes.

Click Save to apply your changes.

Your cluster’s state changes from Active to Resizing until the process is complete. Provisioning can take several minutes, depending on cluster size, but does not cause downtime.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.