# WebRedisManager **Repository Path**: yswenli/WebRedisManager ## Basic Information - **Project Name**: WebRedisManager - **Description**: Web Redis Manager是一款web 版的Redis可视化工具,即可以作为单机的web 版的Redis可视化工具来使用,也可以挂在服务器上多人管理使用的web 版的Redis可视化工具。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.cnblogs.com/yswenli/p/9460527.html - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2019-08-14 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
### 🏠 主界面 - 一目了然
> 左侧是数据库和键的树形结构,右侧是数据内容,想看什么点什么
### 📊 数据浏览 - 树形结构
> 就像资源管理器一样,层层展开,清清楚楚
### ✏️ 编辑数据 - 所见即所得
> 直接编辑,支持 JSON 格式化,改完保存即可
### 🌐 集群管理 - 可视化操作
> 集群节点、槽位分配,全部图形化展示
### 📈 监控图表 - 实时状态
> 内存使用、连接数、命令统计,一目了然
### 💻 控制台 - 命令行爱好者的福音
> 内置 Redis 命令终端,想敲命令?这里也能满足你
---
## 🛠️ 技术栈
本项目基于 **SAEA** 系列高性能组件构建,这是一套国人自主研发的通信框架。
### SAEA 技术家族
```
┌─────────────────────────────────────────────────────────────┐
│ SAEA 技术栈全景图 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🔌 SAEA.Sockets (IOCP 底层通信引擎) │
│ │ │
│ ├── 📡 SAEA.Http → HTTP 服务器 │
│ │ │
│ ├── 🌐 SAEA.MVC → Web MVC 框架 │
│ │ │
│ ├── 🔴 SAEA.RedisSocket → Redis 客户端 │
│ │ │
│ ├── 💬 SAEA.WebSocket → WebSocket 服务 │
│ │ │
│ └── 📦 SAEA.Common → 公共工具库 │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
### 🔌 SAEA.Sockets - 高性能 IOCP 通信引擎
> **一句话理解**:就像给你的程序装了个"涡轮增压器",让网络通信飞起来!
**什么是 IOCP?**
IOCP(I/O Completion Port)是 Windows 平台最高效的异步通信模型。打个比方:
| 传统方式 | IOCP 方式 |
|---------|----------|
| 每个客户来吃饭,需要一个服务员专门服务 | 一个服务员可以同时照顾很多桌子 |
| 100 个客户 = 100 个服务员 = 100 个线程 | 100 个客户 = 1 个服务员 = 极少线程 |
| 资源消耗大,容易卡顿 | 资源利用率高,流畅高效 |
**SAEA.Sockets 核心特性**
| 特性 | 说明 | 带给你的好处 |
|------|------|-------------|
| **BufferPool 内存池** | 预分配内存,重复利用 | 减少 GC 压力,避免内存抖动 |
| **Session 会话管理** | 自动管理连接状态 | 断线重连、超时处理全自动 |
| **异步事件驱动** | 完成端口通知机制 | 单线程处理万级并发 |
| **协议编解码** | 内置多种编码器 | TCP 粘包分包自动处理 |
**性能对比**
```
传统 Socket: 5000 连接 → 延迟 5ms → CPU 60%
SAEA.Sockets: 5000 连接 → 延迟 1ms → CPU 15%
传统 Socket: 10000 连接 → 延迟 10ms → CPU 80%
SAEA.Sockets: 10000 连接 → 延迟 2ms → CPU 25%
```
👉 [了解更多](https://www.nuget.org/packages/SAEA.Sockets)
---
### 🌐 SAEA.MVC - 轻量级自宿主 Web 框架
> **一句话理解**:像 ASP.NET Core 一样好用,但更轻更快更简单!
**为什么选择 SAEA.MVC?**
| 对比项 | ASP.NET Core | SAEA.MVC |
|--------|--------------|----------|
| 启动时间 | 500-1000ms | **50ms** |
| 内存占用 | 80-150MB | **20MB** |
| 部署方式 | 需要 Kestrel/IIS | **自宿主,单文件** |
| 学习曲线 | 较陡 | **平滑,像老版 MVC** |
| 依赖复杂度 | 较多 | **极少** |
**核心功能一览**
```
🎯 Controller/Action 路由 → 熟悉的 MVC 开发体验
🔒 AOP 过滤器 → 权限控制、日志拦截
💾 OutputCache 输出缓存 → 方法级缓存,响应提速 50 倍
📡 SSE 服务器推送 → 实时消息推送,无需 WebSocket
📁 静态文件服务 → 自动缓存、大文件分块传输
```
**代码示例:5 行代码启动 Web 服务**
```csharp
var config = SAEAMvcApplicationConfigBuilder.Read();
var app = new SAEAMvcApplication(config);
app.SetDefault("home", "index");
app.Start();
// 就这么简单!浏览器访问 localhost:28080
```
👉 [了解更多](https://www.nuget.org/packages/SAEA.MVC)
---
### 🔴 SAEA.RedisSocket - 高性能 Redis 客户端
> **一句话理解**:Redis 操作的"瑞士军刀",又快又全能!
**核心优势**
| 特性 | 说明 | 实际用途 |
|------|------|---------|
| **完整数据类型** | String/Hash/List/Set/ZSet/GEO | 覆盖所有 Redis 数据结构 |
| **Redis Cluster** | 自动重定向、槽位计算 | 集群模式无缝支持 |
| **分布式锁** | SETNX + Lua 脚本 | 秒杀、防并发冲突 |
| **Pipeline 批量** | 命令打包发送 | 减少 90% 网络往返 |
| **Stream 消息** | Producer/Consumer | 分布式消息队列 |
| **Pub/Sub** | 发布订阅 | 实时消息推送 |
**性能数据**
| 操作 | QPS | 延迟 |
|------|-----|------|
| SET | 120,000 | 0.8ms |
| GET | 150,000 | 0.6ms |
| HSET | 100,000 | 1.0ms |
| Pipeline(100命令) | 50,000 batch | 2ms |
**代码示例:3 行代码操作 Redis**
```csharp
var client = new RedisClient("server=127.0.0.1:6379");
client.Connect();
var db = client.GetDataBase();
// 开始操作:db.Set("key", "value")、db.Get("key")...
```
👉 [了解更多](https://www.nuget.org/packages/SAEA.RedisSocket)
---
### 💬 SAEA.WebSocket - 实时双向通信
> **一句话理解**:让服务器和浏览器能像打电话一样实时对话!
用于本项目的数据实时推送:
- Redis 监控数据实时更新
- 控制台命令实时响应
- 集群状态实时同步
---
### 📦 SAEA.Common - 公共工具库
提供常用工具:
- 序列化/反序列化
- 日志记录
- 配置管理
- 时间/字符串处理
---
### 其他技术组件
| 组件 | 用途 |
|------|------|
| [.NET 8.0](https://dotnet.microsoft.com/) | 运行时平台,跨平台支持 |
| [Layui](https://layui.dev/) | 前端 UI 框架,经典美观 |
| [ECharts](https://echarts.apache.org/) | 数据可视化图表 |
---
### 默认端口
| 端口 | 干嘛用的 |
|------|---------|
| `16379` | Web 管理界面 (SAEA.MVC) |
| `26379` | WebSocket 实时推送 |
---
### 🏗️ 项目架构
```
浏览器请求 ──► SAEA.MVC (端口 16379)
│
▼
Controllers 处理业务逻辑
│
▼
Services 调用 Redis 操作
│
▼
SAEA.RedisSocket 连接 Redis
│
▼
Redis 服务器
WebSocket ──► SAEA.WebSocket (端口 26379)
│
▼
实时推送监控数据/命令响应
```
---
## ❓ 常见问题