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.pswp.cn/bicheng/95077.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95077.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95077.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【前端教程】從零開始學JavaScript交互:7個經典事件處理案例解析

在網頁開發中&#xff0c;交互性是提升用戶體驗的關鍵。JavaScript作為網頁交互的核心語言&#xff0c;通過事件處理機制讓靜態頁面"動"了起來。本文將通過7個經典案例&#xff0c;從簡單到復雜&#xff0c;逐步講解JavaScript事件處理的實現方法和應用場景。 案例1&…

內存模型(Memory Model)是什么?

內存模型(Memory Model)是什么? 內存模型是一個非常深刻且核心的計算機科學概念。 核心摘要 內存模型是一個契約或協議,它精確定義了: 一個線程對共享內存的寫操作,如何以及何時對其他線程可見。 內存操作(讀/寫)可以被重新排序的程度。 它連接了硬件(CPU如何執行指令…

在 MyBatis 中oracle基本數值類型的 JDBC 類型映射

基本數值類型的 JDBC 類型Java 類型JDBC 類型 (jdbcType)說明int / IntegerINTEGER標準整數類型long / LongBIGINT大整數類型short / ShortSMALLINT小整數類型float / FloatFLOAT單精度浮點數double / DoubleDOUBLE雙精度浮點數java.math.BigDecimalDECIMAL高精度小數&#xff…

Spring注解演進與自動裝配原理深度解析:從歷史發展到自定義Starter實踐

目錄 Spring注解發展史 Spring 1.X Spring 2.X Spring 2.5之前 Required Repository Aspect Spring2.5 之后 Spring 3.x ComponentScan Import 靜態導入 ImportSelector ImportBeanDefinitionRegistrar EnableXXX Spring 4.x Spring 5.x 什么是SPI 自動裝配…

第三屆機械工程與先進制造智能化技術研討會(MEAMIT2025)

【重要信息】 大會官網&#xff1a;https://www.yanfajia.com/action/p/BYE27DYDhttps://www.yanfajia.com/action/p/BYE27DYD 會議地點&#xff1a;哈爾濱理工大學 論文檢索&#xff1a;EI Compendex、Scopus 還有部份版面&#xff0c;欲投稿從速&#xff0c;即將提交出版…

筆記本電腦頻繁出現 vcomp140.dll丟失怎么辦?結合移動設備特性,提供適配性強的修復方案

對于需要用電腦處理工作的人來說&#xff0c;“vcomp140.dll 丟失” 導致程序頻繁閃退&#xff0c;無疑會嚴重影響工作效率。嘗試重啟電腦、重新安裝軟件后&#xff0c;問題依然存在&#xff0c;這時候該怎么辦&#xff1f;別著急&#xff0c;vcomp140.dll 丟失看似棘手&#x…

微動開關-電競鼠標核心!5000萬次壽命微動開關評測

一、主流電競微動開關技術對比?光磁微動技術?采用非接觸式光學觸發原理理論壽命突破5000萬次觸發響應速度0.2ms??傳統機械微動?歐姆龍D2FC-F-7N系列5000萬次標稱壽命機械結構簡單可靠??創新結構微動?雙飛燕漆藍熒光微動特殊涂層提升耐久性手感反饋獨特?二、5000萬次壽…

Go語言與Docker 開發的核心應用領域

1. 容器化應用構建與部署??輕量化鏡像構建Go 語言編譯生成靜態二進制文件&#xff0c;結合多階段構建的 Dockerfile&#xff0c;可大幅縮小鏡像體積&#xff08;例如使用 scratch 或 alpine 基礎鏡像&#xff09;&#xff0c;提升部署效率?。示例 Dockerfile 片段&#xff1…

【ESP32-IDF】網絡連接開發2:Wi?Fi 智能配網(SmartConfig)

系列文章目錄 持續更新… 文章目錄系列文章目錄前言一、Wi?Fi 智能配網概述1.SmartConfig 簡介2.SmartConfig 工作原理3.SmartConfig 協議類型二、Wi?Fi 智能配網類型定義及相關API三、Wi?Fi 智能配網示例程序總結前言 在物聯網設備開發過程中&#xff0c;如果將 Wi-Fi 的…

CVPR深度學習研究指南:特征提取模塊仍是論文創新難點

關注gongzhonghao【CVPR頂會精選】在深度學習賽道里&#xff0c;別只盯著堆模型卷參數了。最近不少高分工作都在打“可解釋”這張牌&#xff0c;把原本難以理解的黑箱模型用輕量方法剖開&#xff0c;既能增強學術價值&#xff0c;還能拓展落地場景。更妙的是&#xff0c;這類研…

redis----list詳解

列表&#xff08;List&#xff09;相當于數組或者順序表一、通用命令LPUSH key value1 [value2 ...]在列表 key 的左側&#xff08;頭部&#xff09;插入一個或多個值。示例&#xff1a;LPUSH fruits apple banana → 列表變為 [banana, apple]LPUSHX 只有列表已存在時才會執行…

【python】相機輸出圖片時保留時間戳數據

有時候需要參考時間戳&#xff0c;寫個筆記記錄下 但是輸出時間可能不穩&#xff0c;有待進一步優化 import cv2 import time import os# 創建一個保存圖像的文件夾 output_folder "camera_images" if not os.path.exists(output_folder):os.makedirs(output_folder…

(Nginx)基于Nginx+PHP 驅動 Web 應用(上):配置文件與虛擬主機篇

1.應用場景 主要用于學習基于 Nginx PHP 驅動 Web 應用&#xff08;上&#xff09;&#xff1a; 配置文件與虛擬主機篇&#xff0c;學習弄清楚Nginx的常規操作&#xff0c;之前困惑的地方。 本文主要介紹了基于NginxPHP驅動Web應用的配置方法&#xff0c;重點講解了Nginx配置…

【golang長途旅行第34站】網絡編程

網絡編程 基本介紹核心主題&#xff1a;?? Golang面向大規模后端服務程序的設計目標中&#xff0c;網絡通信是必不可少且至關重要的部分。?兩種網絡編程方式&#xff1a;???TCP Socket編程? ?性質&#xff1a;網絡編程的主流 ?底層協議&#xff1a;基于TCP/IP協議 ?舉…

Hadoop(六)

目錄&#xff1a;1.Hadoop概述2.為什么需要分布式存儲3.分布式的基礎架構分析4.HDFS的基礎架構1.Hadoop概述2.為什么需要分布式存儲3.分布式的基礎架構分析4.HDFS的基礎架構

Oracle 12g安裝

1. 下載地址 官方網站 一般這種導向的進入的都是oracle的官方網站(先登錄&#xff0c;如果沒有就創建賬號)&#xff0c;并沒有真實的12g供你下載。需要你轉入Oracle的云中下載&#xff1a;https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 。我選擇的是12.1.0.2.0下…

ros2--service/服務--接口

獲取service名稱const char *get_service_name() const;std::string client_name client_->get_service_name();RCLCPP_INFO(this->get_logger(), "Client name: %s", client_name.c_str());

安卓開發---SimpleAdapter

概念&#xff1a;SimpleAdapter 是 Android 中比 ArrayAdapter 更強大的適配器&#xff0c;用于將復雜的數據綁定到復雜的布局&#xff0c;支持將 Map 中的數據映射到布局中的多個 View。方法簽名&#xff1a;public SimpleAdapter( Context context, //上下文 List<? exte…

軟考-系統架構設計師 辦公自動化系統(OAS)詳細講解

個人博客&#xff1a;blogs.wurp.top 一、OAS的核心概念與演進 1. 什么是OAS&#xff1f; OAS是一個綜合性的信息系統&#xff0c;它利用計算機技術、通信技術、系統科學和行為科學&#xff0c;為組織的日常辦公事務、信息管理和協同工作提供支持。其本質是將傳統辦公流程電…

leetcode 155 官方golang標準答案錯誤

真是誤人子弟&#xff0c;leetcode155題官網的golang答案是錯誤的。push方法的append操作&#xff0c;必然不能保證是o(1)的時間復雜度。就這還是官網的標準答案&#xff0c;就這水平&#xff0c;&#x1f604;leetcode誤人子弟不是第一次了。光會刷算法&#xff0c;可惜水平還…