当前位置: 首页 > 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.xdnf.cn/news/1391761.html

相关文章:

  • Vue3 全面介绍
  • 技术SEO修复ROI最大化:有限资源下的优先排序策略
  • 【笔记】Linux高性能网络详解之DPDK
  • uni-app 常用钩子函数:从场景到实战,掌握开发核心
  • 算法题打卡力扣第169题:多数元素(easy)
  • 单点登录(SSO)前端(Vue2.X)改造
  • MYSQL-索引(上)
  • week5-[二维数组]对角线
  • 平安健康平安芯医AI解析:7×24小时问诊+95%诊断准确率,人文温度短板与医生效能提升引热议
  • DNS域名系统
  • Less嵌套写法
  • 无人机中的坐标系理解:机体坐标系,东北天(NED)坐标系,世界大地(WGS84)坐标系
  • 换公司如何快速切入软件项目工程
  • 在 Ubuntu 24.04 Linux 上安装 Basemark GPU Benchmark 的步骤
  • PCIe 6.0配置与地址空间架构:深入解析设备初始化的核心机制
  • 零知开源——基于STM32F407VET6和ADXL345三轴加速度计的精准运动姿态检测系统
  • Vibe Coding、AI IDE/插件
  • Vue3 + TS + MapboxGL.js 三维地图开发项目
  • 前端缓存问题详解
  • Prometheus+Grafana入门教程:从零搭建云原生服务器监控系统
  • 【论文阅读】SegCLIP:用于高分辨率遥感图像语义分割的多模态视觉语言和快速学习
  • 【完整源码+数据集+部署教程】控制台缺陷检测系统源码和数据集:改进yolo11-repvit
  • Vision Transformer模型解读
  • 性能测试-jmeter7-元件提取器
  • Free Subtitles-免费AI在线字幕生成工具,支持111种语言
  • selenium自动下载更新浏览器对应的webdriver
  • Spring AOP:JDK与CGLIB代理机制解析
  • 数据结构(C语言篇):(五)单链表算法题(上)
  • 对于牛客网—语言学习篇—编程初学者入门训练—函数类型:BC156 牛牛的数组匹配及BC158 回文数解析
  • 美食推荐|美食推荐小程序|基于微信小程序的美食推荐系统设计与实现(源码+数据库+文档)