Redis Studio โ
FlashORM includes a powerful Redis management interface inspired by Upstash, providing a beautiful and intuitive way to manage your Redis databases.
Table of Contents โ
- Quick Start
- Key Browser
- CLI Terminal
- Statistics Dashboard
- Memory Analysis
- Slow Log Viewer
- Lua Script Editor
- Pub/Sub Management
- Configuration Editor
- ACL Management
- Cluster & Replication
- Export/Import
- Bulk Operations
- Connection Options
- Keyboard Shortcuts
Quick Start โ
# Start Redis Studio
flash studio redis --url "redis://localhost:6379"
# With password
flash studio redis --url "redis://:password@localhost:6379"
# Custom port
flash studio redis --url "redis://localhost:6379" --port 3000
# Open without browser auto-launch
flash studio redis --url "redis://localhost:6379" --no-browserKey Browser โ
๐๏ธ Browse and Manage Keys โ
- View all keys with type indicators (STRING, LIST, SET, HASH, ZSET)
- Search keys with pattern matching (e.g.,
user:*) - View key details including TTL, type, and value
- Create, edit, and delete keys
- Bulk delete multiple keys at once
Supported Data Types โ
| Type | View | Edit | Create | Delete |
|---|---|---|---|---|
| STRING | โ | โ | โ | โ |
| LIST | โ | โ | โ | โ |
| SET | โ | โ | โ | โ |
| HASH | โ | โ | โ | โ |
| ZSET | โ | โ | โ | โ |
| STREAM | โ | - | - | โ |
Database Selector โ
Switch between Redis databases (db0-db15):
- Dropdown selector in the navigation bar
- Shows key count per database
- State persists across sessions
CLI Terminal โ
๐ป Full Redis CLI Experience โ
Interactive command-line interface with full Redis command support:
redis> SET mykey "hello"
OK
redis> GET mykey
"hello"
redis> HSET user:1 name "John" age 30
(integer) 2
redis> KEYS user:*
1) "user:1"Features:
- Command history with โโ arrow keys
- Tab completion for commands
- Syntax highlighting
- Multi-line command support
- Command output formatting
Statistics Dashboard โ
๐ Server Information โ
Real-time server statistics including:
- Memory: Used memory, peak memory, RSS memory, fragmentation ratio
- Clients: Connected clients, blocked clients
- Keys: Total keys, keys with expiry
- Commands: Total commands processed, commands per second
- Server: Redis version, uptime, mode (standalone/cluster)
- Replication: Role, connected slaves
Memory Analysis โ
๐ง Per-Key Memory Usage โ
Analyze memory consumption across your Redis instance:
# Access via Memory tab in Redis StudioFeatures:
- Per-key memory usage analysis
- Memory usage by type (STRING, HASH, LIST, etc.)
- Memory overview with peak/used/RSS statistics
- Fragmentation ratio monitoring
- Sort keys by memory consumption
- Pattern-based memory analysis
Memory Overview Dashboard:
| Metric | Description |
|---|---|
| Used Memory | Current memory usage |
| Peak Memory | Maximum memory ever used |
| RSS Memory | Resident Set Size |
| Fragmentation Ratio | Memory fragmentation level |
Slow Log Viewer โ
๐ Query Performance Analysis โ
View slow queries to identify performance bottlenecks:
Features:
- View slow query history with timestamps
- Duration in microseconds/milliseconds
- Full command text
- Client address and name
- Clear slow log functionality
Slow Log Entry:
| Field | Description |
|---|---|
| ID | Unique entry identifier |
| Time | When the query was executed |
| Duration | How long the query took |
| Command | The Redis command that was slow |
| Client | Client address that issued the command |
Lua Script Editor โ
๐ Execute and Manage Lua Scripts โ
Full-featured Lua scripting environment:
Features:
- Write and execute Lua scripts directly
- KEYS and ARGV parameter support
- Script loading (SCRIPT LOAD) with SHA return
- Execute scripts by SHA (EVALSHA)
- Script result display with duration
- Flush all loaded scripts
Example Script:
-- Return the sum of two values
local a = redis.call('GET', KEYS[1])
local b = redis.call('GET', KEYS[2])
return tonumber(a) + tonumber(b)Usage:
- Enter your Lua script in the editor
- Add KEYS (comma-separated):
key1, key2 - Add ARGV (comma-separated):
arg1, arg2 - Click "Execute" to run or "Load Script" to cache
Pub/Sub Management โ
๐ข Publish Messages and View Channels โ
Manage Redis Pub/Sub functionality:
Features:
- Publish messages to any channel
- View all active channels
- See subscriber counts per channel
- Pattern subscriber count
- Real-time channel list refresh
Publish a Message:
- Enter channel name
- Enter message content
- Click "Publish"
- See number of subscribers that received the message
Configuration Editor โ
โ๏ธ View and Modify Redis Configuration โ
Manage Redis server configuration in real-time:
Features:
- View all configuration parameters
- Filter by pattern (e.g.,
max*) - Edit configuration values inline
- Save individual configuration changes
- Rewrite configuration file
- Reset server statistics
Common Configuration Parameters:
| Parameter | Description |
|---|---|
| maxmemory | Maximum memory limit |
| maxclients | Maximum client connections |
| timeout | Client timeout |
| tcp-keepalive | TCP keepalive interval |
| databases | Number of databases |
ACL Management โ
๐ Access Control Lists (Redis 6.0+) โ
Manage Redis users and permissions:
Features:
- View all ACL users with their rules
- Create new users with custom permissions
- Delete users
- View ACL security log
- Clear ACL log entries
ACL Log Entries:
| Field | Description |
|---|---|
| Reason | Why access was denied |
| Context | Command context |
| Object | Key or command that was accessed |
| Username | User that attempted the action |
| Age | How long ago the event occurred |
WARNING
ACL features require Redis 6.0 or higher.
Cluster & Replication โ
๐ View Cluster and Replication Status โ
Monitor your Redis deployment topology:
Replication Info:
- Role (master/slave)
- Connected slaves count
- Master host and port (for replicas)
- Master link status
- Slave details (IP, port, state, offset)
Cluster Info (when enabled):
- Cluster state (ok/fail)
- Known nodes count
- Slots status (ok, pfail, fail)
- Cluster size
- Node details (ID, address, flags, slots)
Export/Import โ
๐ค Export Keys to JSON โ
Export your Redis data for backup or migration:
Export Features:
- Export by pattern (e.g.,
user:*or*for all) - Preview export data before downloading
- Download as JSON file with timestamps
- Includes key type, value, and TTL
Export Format:
{
"keys": [
{
"key": "user:1",
"type": "hash",
"ttl": -1,
"value": {"name": "John", "age": "30"}
}
],
"count": 1,
"exported_at": "2024-01-15T10:30:00Z"
}๐ฅ Import Keys from JSON โ
Restore or migrate Redis data:
Import Features:
- Paste JSON directly or upload file
- Overwrite existing keys option
- Import summary (imported/skipped counts)
- Supports all data types
Bulk Operations โ
โฐ Bulk TTL Update โ
Set expiration for multiple keys at once:
# Set TTL for all user keys
Pattern: user:*
TTL: 3600 (1 hour)Features:
- Pattern-based key selection
- Set TTL in seconds
- Use 0 or -1 to remove expiration
- Shows count of updated keys
๐งน Database Purge โ
Clear all keys from the current database:
- Requires confirmation
- Uses FLUSHDB command
- Affects only selected database
Connection Options โ
Local Redis โ
flash studio redis --url "redis://localhost:6379"Remote Redis with Authentication โ
flash studio redis --url "redis://user:password@redis.example.com:6379"Redis with TLS/SSL โ
flash studio redis --url "rediss://user:pass@redis.example.com:6379"Specific Database โ
flash studio redis --url "redis://localhost:6379/1"Keyboard Shortcuts โ
| Shortcut | Action |
|---|---|
โ / โ | Navigate command history (CLI) |
Tab | Autocomplete command (CLI) |
Ctrl+L | Clear terminal (CLI) |
Ctrl+C | Cancel current command (CLI) |
Enter | Execute command (CLI) |
UI Features โ
Dark Theme โ
Redis Studio uses a modern dark theme optimized for long sessions.
State Persistence โ
Your preferences are saved across browser sessions:
- Selected database
- Active tab
- Search patterns
Responsive Design โ
Works on desktop and tablet devices with adaptive layouts.
Tips & Best Practices โ
Searching Keys Efficiently โ
Use SCAN instead of KEYS for large databases:
redis> SCAN 0 MATCH user:* COUNT 100Monitoring Memory โ
Regular memory analysis helps identify:
- Large keys consuming resources
- Memory fragmentation issues
- Keys without expiration (potential memory leaks)
Lua Script Caching โ
For frequently-used scripts:
- Load the script once with "Load Script"
- Save the returned SHA
- Execute using EVALSHA for better performance
Security Best Practices โ
- Use ACL to restrict user permissions
- Monitor ACL log for unauthorized access attempts
- Set appropriate TTLs to prevent memory issues
- Use TLS for remote connections