RedisUI.Dashboard
2.0.0
See the version list below for details.
dotnet add package RedisUI.Dashboard --version 2.0.0
NuGet\Install-Package RedisUI.Dashboard -Version 2.0.0
<PackageReference Include="RedisUI.Dashboard" Version="2.0.0" />
<PackageVersion Include="RedisUI.Dashboard" Version="2.0.0" />
<PackageReference Include="RedisUI.Dashboard" />
paket add RedisUI.Dashboard --version 2.0.0
#r "nuget: RedisUI.Dashboard, 2.0.0"
#:package RedisUI.Dashboard@2.0.0
#addin nuget:?package=RedisUI.Dashboard&version=2.0.0
#tool nuget:?package=RedisUI.Dashboard&version=2.0.0
RedisUI.Dashboard
A modern Redis UI for ASP.NET Core with enhanced features, built as a fork of RedisUI.
π₯ Whatβs New in RedisUI.Dashboard
This fork includes major improvements over the original RedisUI:
- β Support for Redis data types: Stream, Sorted Set, Hash, List, Set, String.
- β
Error prevention: Null-safe resolution to prevent
NullReferenceException
. - β Monokai-highlighted JSON: Key values rendered as readable formatted JSON.
- β
UI and performance upgrades:
- Redesigned layout and styles
- SCAN cursor enhancements
- Async parallel Redis key & stat resolution
- β Middleware refactor: Clearer API with overloads instead of optional params.
- β
.NET 9 support: Added to
TargetFrameworks
.
π Installation
Install via NuGet:
dotnet add package RedisUI.Dashboard
## π§ Recent Enhancements by @frankyjquintero
This project has undergone several significant improvements to enhance functionality, robustness, and forward compatibility. Notable changes include:
- β
**Support for additional Redis data types**: Stream, Sorted Set, Hash, and more are now properly rendered.
- β
**Error prevention enhancements**: Null checks were added to avoid potential `NullReferenceException` issues.
- β
**Cleaner JSON handling**: Implemented JSON mapping and Monokai syntax highlighting for Redis key inspection.
- β
**Improved UI stability**: Refactored HTML rendering, redesigned UI, and cleaned up JS, including cursor-based SCAN enhancements.
- β
**Optimized performance**: Parallel async resolution for Redis statistics and key values; optimized ConnectionMultiplexer singleton.
- β
**Simplified middleware API**: Refactored `RedisUIMiddleware`, `RedisKeyValueResolver`, and POST body handling; fixed overloading mechanism.
- β
**Extended .NET support**: Added compatibility for .NET 9 and updated TargetFrameworks accordingly.
## π§ Custom JS and CSS for RedisUI Viewer
You can customize the appearance and behavior of the Redis UI by providing your own JavaScript and CSS files. This is useful if you want to use local versions of Bootstrap, syntax highlighters, or JSON viewers.
### Example
```csharp
app.UseRedisUI(new RedisUISettings
{
CssLink = "/assets/css/bootstrap.min.css",
JsLink = "/assets/js/bootstrap.bundle.min.js",
HighlightTheme = "/assets/css/highlight-dark.css",
HighlightJs = "/assets/js/highlight.min.js",
HighlightJson = "/assets/js/json-viewer.js"
});
UI
Server Statistics
π You can review the updated source and commits at github.com/frankyjquintero/RedisUI
Redis Integrated UI
Redis Integrated UI is a .NET project designed to simplify the integration of a Redis User Interface (UI) page into your web applications. With this project, users can easily incorporate a Redis UI page, enabling them to interact with Redis keys and view Redis server statistics seamlessly.
Features
Integration Ease: Simplifies the process of integrating a Redis UI page into web applications.
Redis Key Management: Provides functionality to interact with Redis keys conveniently.
Server Statistics: Displays statistics related to the Redis server for monitoring and analysis purposes.
Getting Started
To integrate the Redis UI into your application, follow these steps:
- Install RedisUI from the NuGet Gallery.
PM> Install-Package RedisUI
- Add the middleware to your project.
using RedisUI;
app.UseRedisUI();
- Run your project and browse /redis path. easy peasy!
Settings
- The
Path
is "/redis" by default, set a new path.
app.UseRedisUI(new RedisUISettings
{
Path = "/myredisui",
});
- The
ConnectionString
is "localhost" by default, set the connection string.
app.UseRedisUI(new RedisUISettings
{
ConnectionString = "1.1.1.1:6379",
});
- Use
ConfigurationOptions
for detailed settings.
ConfigurationOptions options = new ConfigurationOptions
{
EndPoints = { { "my-redis.cloud.redislabs.com", 6379 } },
User = "default", // use your Redis user. More info https://redis.io/docs/management/security/acl/
Password = "secret", // use your Redis password
Ssl = true,
SslProtocols = System.Security.Authentication.SslProtocols.Tls12
};
app.UseRedisUI(new RedisUISettings
{
ConfigurationOptions = options
});
- The UI is using Bootstrap 5.3.2 version from CDN, you can get it from locally via setting properties below:
app.UseRedisUI(new RedisUISettings
{
CssLink = "..\\mypath\\bootstrap.min.cs",
JsLink = "..\\mypath\\bootstrap.js"
});
Authorization
You can limit access to Redis data in the production environment.
- Add a new authorization filter and implement
IRedisAuthorizationFilter
using RedisUI;
public class MyAuthorizationFilter : IRedisAuthorizationFilter
{
private readonly bool _isDevelopment;
public MyAuthorizationFilter(bool isDevelopment)
{
_isDevelopment = isDevelopment;
}
public bool Authorize(HttpContext context)
{
return _isDevelopment || (context.User.Identity != null && context.User.Identity.IsAuthenticated);
}
}
app.UseRedisUI(new RedisUISettings
{
AuthorizationFilter = new MyAuthorizationFilter(app.Environment.IsDevelopment())
});
Contributing
Contributions are welcome! If you'd like to contribute to Redis Integrated UI, please follow these guidelines:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
License
This project is licensed under the MIT License.
Contact
For any inquiries or support regarding Redis Integrated UI, feel free to contact the project maintainer:
- Email: emrahkondur@hotmail.com
- GitHub: ekondur
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- StackExchange.Redis (>= 2.7.10 && < 3.0.0)
-
net7.0
- StackExchange.Redis (>= 2.7.10 && < 3.0.0)
-
net8.0
- StackExchange.Redis (>= 2.7.10 && < 3.0.0)
-
net9.0
- StackExchange.Redis (>= 2.7.10 && < 3.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RedisUI.Dashboard:
Package | Downloads |
---|---|
Franky.Core.Infrastructure
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
β
Added support for Redis data types (Stream, Sorted Set, Hash)
β
Improved null-safety to prevent NullReferenceException
β
Enhanced JSON key inspection with Monokai highlighting
β
Refactored UI rendering and JS cleanup (SCAN optimized)
β
Async parallel performance for Redis stats and key resolution
β
Middleware API improvements with overloads instead of optionals
β
Extended support to .NET 9 in TargetFrameworks