测试ASP.NET Core项目调用EasyCaching的基本用法(InMemory)

2024-01-30 10:36

本文主要是介绍测试ASP.NET Core项目调用EasyCaching的基本用法(InMemory),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  EasyCaching属于开源缓存库,支持基本缓存方式及高级缓存用法,提高用户操作缓存的效率。EasyCaching支持的缓存方式包括以下类型,本文学习最基础的InMemory方式的基本用法。
  EasyCaching.InMemory包属于基于内存的缓存库,使用的是程序所在计算机的内存,一般也称作本地缓存。

在这里插入图片描述

  新建ASP.NET Core WebApi项目,在Nuget包管理器中搜索并安装EasyCaching.InMemory包:
在这里插入图片描述
  接着需要在Program.cs文件中添加EasyCaching服务,主要是调用EasyCaching.Core程序集中的EasyCachingServiceCollectionExtensions.AddEasyCaching函数添加服务,最简单的用法如下所示:

builder.Services.AddEasyCaching(options =>
{options.UseInMemory("default");
});

  调用UseInMemory函数时,除了实例名称,还可以进行更详细的参数设置,EasyCaching支持在UseInMemory函数中进行设置,也支持在appsettings.json中设置参数后通过UseInMemory函数读取配置,如下图所示,更详细的说明见参考文献3。
在这里插入图片描述
  注册服务后,即可在控制器类中使用,在控制器构造函数中传入IEasyCachingProvider接口,该接口继承自IEasyCachingProviderBase,后者包含常用的缓存操作函数,如下图所示:
在这里插入图片描述
  编写简单的测试控制器类进行测试,代码如下图所示:

public class EasyCachingController : ControllerBase
{private readonly IEasyCachingProvider _provider;public EasyCachingController(IEasyCachingProvider provider){_provider = provider;}[HttpGet]public string GetValue(string key){if(!_provider.Exists(key)){throw new Exception($"不存在key{key}");}return _provider.Get<string>(key).Value;}[HttpPost]public void SaveData(string key,string value){_provider.Set<string>(key, value, new TimeSpan(0, 0, 30));}
}

  直接在浏览器中测试WebApi接口,如下图所示,测试SaveData函数:
在这里插入图片描述
  点击Execute按钮后报如下错误,应该是跨域访问的问题,本文中直接按《ASP.NET Core WebAPI从HTTPS调整为HTTP启动》中的方式删除了https相关内容后,即可正常调用函数。
在这里插入图片描述
  接着调用GetValue函数获取值,如下图所示,可以正常返回指定key的值。
在这里插入图片描述

参考文献:
[1]https://github.com/dotnetcore/EasyCaching
[2]https://easycaching.readthedocs.io/en/latest/
[3]https://easycaching.readthedocs.io/en/latest/In-Memory/

这篇关于测试ASP.NET Core项目调用EasyCaching的基本用法(InMemory)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659966

相关文章

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec