Valkey is an open source (BSD) high-performance key/value datastore that supports a variety workloads such as caching, message queues, and can act as a primary database. Valkey can run as either a standalone daemon or in a cluster, with options for replication and high availability.

Valkey natively supports a rich collection of datatypes, including strings, numbers, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs and more. You can operate on data structures in-place with a expressive collection of commands. Valkey also supports native extensibility with built-in scripting support for LUA and supports module plugins to create new commands, data types, and more.

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the Valkey 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Valkey Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "sharklabs-valkey"}' \

Getting Started After Deploying Valkey

Valkey is a high-performance data structure server that primarily serves key/value workloads. It supports a wide range of native structures and an extensible plugin system for adding new data structures and access patterns.

All Valkey scripts and files may be found in /srv/valkey and the setup utility can be run again by executing make install in that directory.

To keep this Droplet secure, the UFW firewall is enabled by default. All ports are BLOCKED except:

  • 22 (SSH)
  • 6379

A strong password has been set for your Valkey instance, and can be found in the file


Valkey is bound to the droplet IP address and localhost. To change this, edit the configuration here:


Interacting with Valkey

Valkey is a fork of Redis, and as such, has many of the same commands and options available. To open an interactive shell:


Once in the shell, you can verify everything is working as expected with:

valkey> ping
valkey> set foo bar
valkey> get foo
valkey> incr mycounter
(integer) 1
valkey> incr mycounter
(integer) 2

Using TLS

To further secure you instance, it is recommended you assign a hostname and use certbot to provision an SSL certificate for it.