Cube Studio is a modern, cross-platform graphical user interface (GUI) tool for Redis & Memcached. Built with Electron and React, it provides an intuitive way to browse databases, manage keys and values, and interact with your NoSQL data stores.
- Multiple Database Support: Connect to Redis and Memcached instances
- Connection Testing: Test connections before saving
- Saved Connections: Securely store connection credentials with encryption
- Quick Access: Click saved connections to quickly reconnect
- Browse Databases: Navigate through Redis databases (DB0, DB1, etc.) and Memcached keys
- Key/Value Operations:
- Create new key-value pairs
- Edit existing values with inline editing
- Delete keys with confirmation
- Smart Format Detection: Automatically detects and formats JSON values
- Multiple View Modes: Switch between RAW and JSON format views
- Modern UI: Clean, responsive interface built with Ant Design
- Tab-based Navigation: Manage multiple connections in separate tabs
- Real-time Updates: View changes immediately after operations
- Error Handling: Clear error messages for connection and operation failures
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/aarint/cube-studio.git
cd cube-studio- Install dependencies:
npm install- Run in development mode:
npm run dev- Build for production:
npm run build- Package the application:
npm run package- Click the "New connection" button on the welcome page
- Fill in the connection details:
- Connection Name: A friendly name for this connection
- Type: Select Redis or Memcached
- Hostname: Server IP address or hostname
- Port: Server port (default: 6379 for Redis, 11211 for Memcached)
- Password: Authentication password (if required)
- Save: Check to save the connection for future use
- Click "Test" to verify the connection, or "Connect" to open the instance
- Select a database from the dropdown (DB0, DB1, etc.)
- Click on a key in the left panel to view its value
- Use the toolbar buttons to:
- Add: Create a new key-value pair
- Edit: Modify the selected key's value (inline editing)
- Delete: Remove the selected key
- Switch between RAW and JSON view modes using the dropdown
- View all keys in the left panel
- Click a key to view its value
- Edit or delete keys using the toolbar buttons
- Click the Edit button to enter edit mode
- For JSON values, the editor automatically formats the JSON
- For string values, use the plain text editor
- Click Save to apply changes or Cancel to discard
- Electron ^28.3.0 - Cross-platform desktop application framework
- React ^18.3.1 - UI library
- Ant Design ^5.12.8 - Enterprise UI component library
- Redux ^5.0.1 - State management
- Redux Thunk ^3.1.0 - Async action handling
- Redis ^4.7.0 - Redis client for Node.js
- node_memcached ^1.1.3 - Memcached client
- Connection credentials are encrypted before being stored locally
- Passwords are never displayed in plain text
- Uses AES-256-GCM encryption for stored connection data
cube-studio/
├── src/
│ ├── components/ # React components
│ │ ├── Welcome/ # Welcome/connection page
│ │ ├── Instance/ # Redis instance view
│ │ └── MemcachedInstance/ # Memcached instance view
│ ├── redux/ # Redux store, actions, reducers, thunks
│ ├── utils/ # Utility functions (encryption, storage, etc.)
│ └── assets/ # Static assets and styles
├── build/ # Webpack configuration
└── main.js # Electron main process
npm run dev- Start development server with hot reloadnpm run build- Build production bundlenpm run package- Build and package the Electron appnpm run prod- Build and run Electron in production mode
Contributions are welcome! Please feel free to submit a Pull Request.
Cube Studio is licensed under the MIT License.