【集成示例】PicoServer 与Redis集成:轻量服务快速操作缓存数据
是一款,单 DLL 几十 KB,可集成进任意 .NET 程序,不依赖 IIS、Kestrel,集成简单、不入侵业务,高性能、高稳定,低资源消耗。无论是轻量级 Web API、WebSocket 实时通信、边缘计算 Web 服务,各类网关,还是轻量流媒体服务器,用它都恰到好处。

PicoServer 是一款轻量级跨平台 Web 请求胶水库,单 DLL 几十 KB,可集成进任意 .NET 程序,不依赖 IIS、Kestrel,集成简单、不入侵业务,高性能、高稳定,低资源消耗。无论是轻量级 Web API、WebSocket 实时通信、边缘计算 Web 服务,各类网关,还是轻量流媒体服务器,用它都恰到好处。
✨ PicoServer 核心特色
📦 开箱即用:内置路由、Token/JWT 认证、请求解析、WebAPI、WebSocket、静态文件服务、跨域等能力,覆盖基础 Web 场景。
🌍 跨平台兼容:基于 .NET Standard 2.0,支持 .NET Framework 4.6.1+ / Core / 5 / 6+,兼容 Win/Linux/macOS。
🔗 胶水特性:无缝配合第三方库,无需改动原有业务代码,轻松嵌入任意 .NET 程序,实现无侵入集成。
🚀 极速低耗:异步非阻塞架构,支持 AOT 编译,响应迅速,单 DLL 仅几十 KB,不拖垮主程序。
✨ 自由集成:通过AddRoute与AddMiddleware实现高度定制,逻辑全程可见可控,无黑盒封装。
❤️ 像写方法一样写 WebAPI
很多 .NET 开发者在桌面和设备领域经验丰富,但 Web 并不是主要方向。PicoServer 让你无需成为 Web 专家,也能为应用快速添加 Web 能力,实现更现代的交互方式,就像你熟悉的方法调用一样自然。
核心目标:快速集成Redis,实现缓存数据的增删查操作,提升轻量服务数据读写效率。
核心准备
- 环境:安装并启动Redis(Windows下载Redis-x64包,Linux执行
apt install redis-server); - 安装NuGet包:
Install-Package PicoServer Install-Package StackExchange.Redis
C# 极简代码示例
using PicoServer;
using StackExchange.Redis;
using System;
class Program
{
static void Main(string[] args)
{
// 1. 初始化Redis连接(本地默认配置)
var redisConn = ConnectionMultiplexer.Connect("localhost:6379");
Console.WriteLine("Redis连接成功");
// 2. 启动PicoServer
var MyAPI = new WebAPIServer();
MyAPI.StartServer();
Console.WriteLine("PicoServer启动成功,地址:http://localhost:8090");
// 3. 注册路由(操作Redis)
// 写入缓存
MyAPI.AddRoute("/set", () =>
{
var db = redisConn.GetDatabase();
db.StringSet("demo:name", "PicoServer-Redis", TimeSpan.FromMinutes(10));
return """{"code":1,"msg":"缓存写入成功"}""";
}, "GET");
// 读取缓存
MyAPI.AddRoute("/get", () =>
{
var db = redisConn.GetDatabase();
string value = db.StringGet("demo:name");
return string.IsNullOrEmpty(value)
? """{"code":0,"msg":"缓存不存在"}"""
: $"""{"code":1,"msg":"读取成功","data":"{value}"}""";
}, "GET");
Console.ReadKey();
// 4. 释放资源
MyAPI.StopServer();
redisConn.Dispose();
}
}
VB.NET 极简代码示例
Imports PicoServer
Imports StackExchange.Redis
Imports System
Module Program
Sub Main(args As String())
' 1. 初始化Redis连接(本地默认配置)
Dim redisConn = ConnectionMultiplexer.Connect("localhost:6379")
Console.WriteLine("Redis连接成功")
' 2. 启动PicoServer
Dim MyAPI = New WebAPIServer()
MyAPI.StartServer()
Console.WriteLine("PicoServer启动成功,地址:http://localhost:8090")
' 3. 注册路由(操作Redis)
' 写入缓存
MyAPI.AddRoute("/set", Function()
Dim db = redisConn.GetDatabase()
db.StringSet("demo:name", "PicoServer-Redis", TimeSpan.FromMinutes(10))
Return "{""code"":1,""msg"":""缓存写入成功""}"
End Function, "GET")
' 读取缓存
MyAPI.AddRoute("/get", Function()
Dim db = redisConn.GetDatabase()
Dim value As String = db.StringGet("demo:name")
Return If(String.IsNullOrEmpty(value),
"{""code"":0,""msg"":""缓存不存在""}",
$"{{""code"":1,""msg"":""读取成功"",""data"":""{value}""}}")
End Function, "GET")
Console.ReadKey()
' 4. 释放资源
MyAPI.StopServer()
redisConn.Dispose()
End Sub
End Module
复制
关键说明
- Redis有密码/非默认端口:连接字符串改为
"localhost:6379,password=你的密码"; - 可扩展支持Hash、List等Redis数据类型(如C#:
db.HashSet("user:1", "name", "张三"),VB.NET:db.HashSet("user:1", "name", "张三"));
更多推荐
所有评论(0)