**p3x-redis-ui** is a versatile Redis GUI that can function as either a backend server on the web or as a desktop application. This open-source software is particularly effective for managing JSON, featuring integration with JSONEditor and ACE. Explore a variety of options in the 'edit json' button dialog, which also supports uploading and downloading binary data. Additionally, it handles SSH, cluster, and sentinel configurations.
## Features
### Configuration and Security
- **Secure Configuration:** Setup is intricate due to its roots in shared web applications, ensuring that passwords and sensitive data are safeguarded with unique identifiers for both main and node configurations. Node-specific IDs enhance security measures for node passwords.
### Compatibility and Usage
- **Redis Versions and TLS:** Supports Redis 6 with TLS, enhancing security and data integrity.
- For TLS configuration details, visit [Configuring Redis TLS](https://spin.atomicobject.com/2021/08/05/configuring-redis-tls/).
- **Pika Compatibility:** Compatible with Pika, though not perfectly optimized.
- **SSH Tunneling:** Functional for single instances. Support for cluster and sentinel configurations is under development.
- **Environmental Customizations:** Customize the server port and home directory via `P3XRS_PORT` and `P3XRS_DOCKER_HOME` environment variables.
### Data Handling
- **Binary Data Management:** Special care is needed when handling binary data to prevent issues. Use the download button for binary data; direct editing in text mode is not supported for binary content.
- **Large Data Sets:** Handles values larger than 256 kB, indicated by `[object ArrayBuffer]`. For large values, utilize binary upload and download capabilities.
- **Clipboard Operations:** Text copying is supported directly; binary data requires using the download functionality.
### User Interface and Experience
- **Desktop Shortcuts:** Access menus in the desktop version by pressing ALT.
- **Responsive Design:** Fully responsive, ensuring usability on phones and tablets.
- **Themes:** Choose between Dark - Dracula and light themes for personalized visual comfort.
- **Data Visualization and Management:**
- Tree view settings allow adjustments to key count from a minimum of 100 to a maximum of 100,000 to prevent crashes.
- Deferred rendering in the tree view enhances performance by rendering only what is visible in the viewport.
### Advanced Features
- **Monitoring and Logging:** Monitor all channel messages on the console with a simple checkbox. Console history is stored indefinitely in local storage, keeping the last 20 entries accessible.
- **Database Interaction:** Select databases via the console or a dropdown menu, which also indicates whether databases are empty or filled.
- **Search Functionality:**
- Client-side mode for searching small sets of keys.
- Server-side mode for efficient searching within large sets of keys.
- Search can be configured to start with a specific string or include a string within the keys.
### Network Setup and Extensions
- **Sub-directory Support:** Utilize Nginx/Ingress to rewrite paths when used in a sub-directory.
- For more information, see [Issue #43](https://github.com/patrikx3/redis-ui/issues/43).
### Contributions and Support
- **Cluster Support:** Recently added and continuously improving. Contributions by [@devthejo](https://github.com/devthejo) have significantly enhanced this functionality.
- **Community and Feedback:** As this tool evolves, feedback and issue reporting are highly valued to refine and improve the features.
Redis UI provides a powerful interface for managing Redis databases with a focus on security, efficiency, and user experience. Whether you are dealing with small or large data sets, p3x-redis-ui offers robust solutions tailored to meet diverse operational needs.