当前位置: 首页 > news >正文

Redis开发06:使用stackexchange.redis库结合WebAPI对redis进行增删改查

一、接口写法

namespace WebApplication1.Controllers.Redis
{[ApiController][Route("/api/[controller]")]public class RedisService : IRedisService{private readonly IConnectionMultiplexer _redis;//StackExchange.Redis库自带接口public RedisService(IConnectionMultiplexer redis){_redis = redis;}// 异步增加键值对[HttpPost("set")]public async Task<bool> SetAsync(string key, string value){var db = _redis.GetDatabase();bool result = await db.StringSetAsync(key, value);return result;}// 异步删除键值对[HttpDelete("remove")]public async Task<bool> RemoveAsync(string key){var db = _redis.GetDatabase();bool result = await db.KeyDeleteAsync(key);return result;}// 异步查询键值对[HttpGet("get")]public async Task<object> GetAsync(string key){var db = _redis.GetDatabase();var value = await db.StringGetAsync(key);if (value.HasValue){return new { Key = key, Value = value.ToString() };}return new { Message = $"Key {key} not found." };}// 异步清空所有缓存[HttpPost("flushall")]public async Task<bool> FlushAllAsync(){var server = _redis.GetServer("localhost", 6379);  // 替换为你的 Redis 服务器 IP 和端口await Task.Run(() => server.FlushAllDatabases());  // 异步执行清空操作return true;}}
}

二、Startup.cs配置

public void ConfigureServices(IServiceCollection services)
{//省略其他代码// 注入自己写的服务实例services.AddTransient<IRedisService, RedisService>();// 配置 Redis 连接 (ConnectionMultiplexer 是 StackExchange.Redis自带的)var redisConnection = ConnectionMultiplexer.Connect("localhost:6379,defaultDatabase=1,allowAdmin = true");  // 替换成你实际的 Redis 连接字符串services.AddSingleton<IConnectionMultiplexer>(redisConnection);}

http://www.dtcms.com/a/357506.html

相关文章:

  • vue在函数内部调用onMounted
  • 论文阅读:arixv 2025 WideSearch: Benchmarking Agentic Broad Info-Seeking
  • Linux之Shell编程(二)
  • 零售行业全渠道应如何与零售后端系统集成?
  • JavaScript 知识篇(1):解构赋值
  • 【前端教程】二维数组排序实战:按需封装才是最优解——拒绝冗余,精简代码
  • 基于SpringBoot和百度人脸识别API开发的保安门禁系统
  • MinIO社区版“背刺“之后:RustFS用Apache 2.0协议重构开源信任
  • 导入自定义模块的过程中出现ModuleNotFoundError错误
  • “白月光”焦点何晟铭现身宁夏中宁,助力非遗与三农发展
  • 37 HTB Remote 机器 - 容易
  • RV1126的OSD模块讲解
  • ArcPy 断点续跑脚本:深度性能优化指南
  • 币安创始人赵长鹏:香港需要更广泛的加密货币产品来与美国和阿联酋竞争
  • Origin绘制四元相图
  • 3-5〔OSCP ◈ 研记〕❘ WEB应用攻击▸WEB应用枚举A
  • 数据存储与SQLite数据库
  • 3 反向传播
  • C++ 线程安全初始化机制详解与实践
  • Android 打包适配15 版本(api 35)问题处理
  • 数字人 + 矩阵聚合系统源码搭建与定制化开发
  • 内网部署数据本地化,不限时的视频会议软件-BeeWorks Meet
  • 数据结构:归并排序 (Iterative Merge Sort)
  • JavaScript 基础核心知识点总结:从使用方式到核心语法
  • 不止于价格,DigitalOcean、AWS和Linode该选谁?
  • 蘑兔音乐:音乐创作板块的槿汐姑姑
  • 抗干扰、高冗余、快部署:KAXA工业无线方案赋能注塑车间稳定联网
  • OpenCV的轮廓检测
  • 手写MyBatis第41弹:MyBatis动态代理黑魔法:MapperProxy如何智能处理增删改的返回值?
  • 【完整源码+数据集+部署教程】胚胎发育阶段检测系统源码和数据集:改进yolo11-SCConv