Enterprise Databases
Manage databases (BDBs) in Redis Enterprise clusters.
Commands
List Databases
redisctl enterprise database list [OPTIONS]
Examples:
# List all databases
redisctl enterprise database list
# Table format
redisctl enterprise database list -o table
# Get names and memory
redisctl enterprise database list -q "[].{name:name,memory:memory_size,status:status}"
Get Database
redisctl enterprise database get <ID> [OPTIONS]
Examples:
# Get database details
redisctl enterprise database get 1
# Get connection info
redisctl enterprise database get 1 -q "{endpoint:endpoints[0].addr,port:port}"
Create Database
redisctl enterprise database create [OPTIONS]
Options:
| Option | Description |
|---|---|
--name <NAME> | Database name |
--memory-size <BYTES> | Memory limit in bytes |
--port <PORT> | Database port (optional, auto-assigned) |
--replication | Enable replication |
--shards-count <N> | Number of shards |
--data <JSON> | Full configuration as JSON |
Examples:
# Create with flags
redisctl enterprise database create \
--name mydb \
--memory-size 1073741824 \
--port 12000 \
--replication
# Create with JSON
redisctl enterprise database create --data '{
"name": "mydb",
"memory_size": 1073741824,
"port": 12000,
"replication": true,
"shards_count": 2
}'
# Create with modules
redisctl enterprise database create --data '{
"name": "search-db",
"memory_size": 2147483648,
"module_list": ["search"]
}'
Update Database
redisctl enterprise database update <ID> --data <JSON> [OPTIONS]
Examples:
# Increase memory
redisctl enterprise database update 1 --data '{"memory_size": 2147483648}'
# Add modules
redisctl enterprise database update 1 --data '{
"module_list": ["json", "search"]
}'
# Change eviction policy
redisctl enterprise database update 1 --data '{"eviction_policy": "volatile-lru"}'
Delete Database
redisctl enterprise database delete <ID> [OPTIONS]
Examples:
# Delete database
redisctl enterprise database delete 1
# Force delete (skip confirmation)
redisctl enterprise database delete 1 --force
Database Operations
Backup Database
redisctl enterprise database backup <ID> [OPTIONS]
Examples:
# Trigger backup
redisctl enterprise database backup 1
Import Data
redisctl enterprise database import <ID> --data <JSON>
Example:
redisctl enterprise database import 1 --data '{
"source_type": "rdb_url",
"source_url": "http://backup-server/backup.rdb"
}'
Export Data
redisctl enterprise database export <ID> --data <JSON>
Flush Database
redisctl enterprise database flush <ID>
Warning: This deletes all data in the database.
Shards
List Shards
redisctl enterprise database shards <ID>
Get Shard Stats
redisctl enterprise database shard-stats <ID>
Common Patterns
Get Connection String
ENDPOINT=$(redisctl enterprise database get 1 -q 'endpoints[0].addr[0]')
PORT=$(redisctl enterprise database get 1 -q 'port')
echo "redis://$ENDPOINT:$PORT"
Monitor Memory Usage
redisctl enterprise database list \
-q "[].{name:name,used:used_memory,limit:memory_size}" \
-o table
Bulk Update Databases
# Update all databases
for id in $(redisctl enterprise database list -q '[].uid' --raw); do
echo "Updating database $id"
redisctl enterprise database update $id --data '{"eviction_policy": "volatile-lru"}'
done
Create Database with Persistence
redisctl enterprise database create --data '{
"name": "persistent-db",
"memory_size": 1073741824,
"data_persistence": "aof",
"aof_policy": "appendfsync-every-sec"
}'
Troubleshooting
"Not enough memory"
- Check cluster has available memory
- Reduce memory_size or add nodes
"Port already in use"
- Omit port to auto-assign
- Or specify a different port
"Module not found"
- Upload module first:
redisctl enterprise module upload - Check module name is correct
API Reference
REST endpoints:
GET /v1/bdbs- List databasesPOST /v1/bdbs- Create databaseGET /v1/bdbs/{id}- Get databasePUT /v1/bdbs/{id}- Update databaseDELETE /v1/bdbs/{id}- Delete database
For direct API access: redisctl api enterprise get /v1/bdbs