Change your application: migrate from DigitalOcean to KiviDB
The address, the port, the user and the certificate change. Your client library stays the same.
The address, the port, the user and the certificate change. Your client library stays the same.
# Before: DigitalOcean
REDIS_URL=rediss://default:do-password@my-cache-do-user-1234567-0.db.ondigitalocean.com:25061
# After: KiviDB Cloud
REDIS_URL=rediss://kividbapp:kividb-password@your-name.cloud.kividb.io:6380
DigitalOcean's certificate is from Let's Encrypt, so your client trusted it without configuration. KiviDB Cloud's is issued by a private authority: give your client the CA certificate from Configuration, and connect by hostname, not by IP address.
Node.js (ioredis)
import fs from "node:fs";
import Redis from "ioredis";
// Before: DigitalOcean
const before = new Redis(process.env.DO_URI);
// After: KiviDB Cloud
const redis = new Redis({
host: "your-name.cloud.kividb.io",
port: 6380,
username: "kividbapp",
password: process.env.KIVIDB_PASSWORD,
tls: { ca: fs.readFileSync("kividb-ca.pem") },
});
Python (redis-py)
import os, redis
# Before: DigitalOcean
before = redis.Redis.from_url(os.environ["DO_URI"])
# After: KiviDB Cloud
r = redis.Redis(
host="your-name.cloud.kividb.io",
port=6380,
username="kividbapp",
password=os.environ["KIVIDB_PASSWORD"],
ssl=True,
ssl_ca_certs="kividb-ca.pem",
)
PHP (Predis), common on DigitalOcean App Platform and Droplets running Laravel:
// Before: DigitalOcean
$redis = new Predis\Client(getenv('DO_URI'));
// After: KiviDB Cloud
$redis = new Predis\Client([
'scheme' => 'tls',
'host' => 'your-name.cloud.kividb.io',
'port' => 6380,
'username' => 'kividbapp',
'password' => getenv('KIVIDB_PASSWORD'),
'ssl' => ['cafile' => '/etc/ssl/kividb-ca.pem', 'verify_peer' => true],
]);
In Laravel, the same settings go in config/database.php under redis, with
REDIS_HOST, REDIS_PORT, REDIS_USERNAME and REDIS_PASSWORD in .env.