吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2533|回复: 3
收起左侧

[其他转载] C#中使用IMemoryCache实现内存缓存

[复制链接]
迷恋自留地 发表于 2021-4-24 19:20

1 缓存基础知识

缓存是实际工作中非常常用的一种提高性能的方法。

缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最适用于不经常更改的数据。 通过缓存,可以比从原始数据源返回的数据的副本速度快得多。

2 使用内存缓存(IMemoryCache)

首先,我们简单的创建一个控制器,实现一个简单方法,返回当前时间。我们可以看到每次访问这个接口,都可以看到当前时间。

[Route("api/[controller]")]
[ApiController]
public class CacheController : ControllerBase
{
    [HttpGet]
    public string Get()
    {
        return DateTime.Now.ToString();
    }
}

然后,将Microsoft.Extensions.Caching.Memory的NuGet软件包安装到您的应用程序中。

Microsoft.Extensions.Caching.Memory

接着,使用依赖关系注入从应用中引用的服务,在Startup类的ConfigureServices()方法中配置:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMemoryCache();
}

接着,在构造函数中请求IMemoryCache实例

private IMemoryCache cache;
public CacheController(IMemoryCache cache)
{
    this.cache = cache ?? throw new ArgumentNullException(nameof(cache));
}

最后,在Get方法中使用缓存

[HttpGet]
public string Get()
{
    //读取缓存
    var now = cache.Get<string>("cacheNow");
    if (now == null) //如果没有该缓存
    {
        now = DateTime.Now.ToString();
        cache.Set("cacheNow", now);
        return now;
    }
    else
    {
        return now;
    }
}

https://blog.csdn.net/qq_40732336/article/details/116101074

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
yezhengw111 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

17607550499 发表于 2021-4-24 19:43
楼主,互相加一个,我也是学C#,因为工作需要,刚入坑不久,求带
明月相照 发表于 2021-4-24 20:17
xiaovssha 发表于 2021-4-24 21:47
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表