搜索结果

×

搜索结果将在这里显示。

【集成示例】PicoServer 与Redis集成:轻量服务快速操作缓存数据

核心目标:快速集成Redis,实现缓存数据的增删查操作,提升轻量服务数据读写效率。

核心准备

  1. 环境:安装并启动Redis(Windows下载Redis-x64包,Linux执行apt install redis-server);
  2. 安装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

关键说明

  1. Redis有密码/非默认端口:连接字符串改为"localhost:6379,password=你的密码"
  2. 可扩展支持Hash、List等Redis数据类型(如C#:db.HashSet("user:1", "name", "张三"),VB.NET:db.HashSet("user:1", "name", "张三"));
发布时间: