三分钟学会Redis在.NET Core中做缓存中间件

原文:三分钟学会Redis在.NET Core中做缓存中间件

  大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://github.com/qishibo/AnotherRedisDesktopManager/releases ,它真的很给力,Redis的安装在 https://github.com/MicrosoftArchive/redis/releases,我一般使用的EasyCaching用于做缓存抽象层,首先创建一个.NET Core API 项目,随后nuget安装 EasyCaching.Core 以及 EasyCaching.Redis 。

public void ConfigureServices(IServiceCollection services)
        {
            services.AddEasyCaching(options=> {
                options.UseRedis(configure => {
                    configure.DBConfig.Endpoints.Add(
                        new EasyCaching.Core.Configurations.ServerEndPoint("localhost",6379)
                    );
                    configure.DBConfig.AllowAdmin = true;
                },"RedisExample");
            });
            services.AddControllers();
        }

  随后在Startup中注册中间件,首先启动添加EasyCaching的服务,在向启动添加EasyCaching的某些选项,可以看到AddEasyCaching的过程是这样的。

//  EasyCaching service collection extensions.
    public static class EasyCachingServiceCollectionExtensions
    {
        public static IServiceCollection AddEasyCaching(this IServiceCollection services, Action<EasyCachingOptions> setupAction);
    }

   UseRedis 方法的第二个参数,适用于Repository的选择哪个RedisClient实例,这是非常有利的;我们创建一个API,名为 RedisController ,其中依赖注入我们的服务。

[Route("/Redis")]
    [ApiController]
    public class RedisController : ControllerBase
    {
        private IEasyCachingProvider cachingProvider;
        private IEasyCachingProviderFactory easyCachingProviderFactory;
        public RedisController(IEasyCachingProviderFactory cachingProviderFactory)
        {
            this.easyCachingProviderFactory = cachingProviderFactory;
            this.cachingProvider = cachingProviderFactory.GetCachingProvider("RedisExample");
        }
        [HttpGet("Demo")]
        public IActionResult SetRedisItem()
        {
            this.cachingProvider.Set("zaranet use easycaching", "this is my value", TimeSpan.FromDays(100));
            return Ok();
        }
    }

  点击启动,访问到 https://localhost:port/Redis/Demo 中,使用可视化工具查看,发现OK了。

不光如何,我们我们进行了赋值,现在应该还需要一个获取的操作。

[HttpGet("Get")]
        public IActionResult GetRedisItem()
        {
           var item =  this.cachingProvider.Get<string>("zaranet use easycaching");
           return Ok(item);
        }

就这样,你就可以在.NET Core中使用Redis去做你觉得有价值的事情,都是非常简单的事情。

原文地址:https://www.cnblogs.com/lonelyxmas/p/12052141.html

时间: 2024-08-28 03:57:01

三分钟学会Redis在.NET Core中做缓存中间件的相关文章

三分钟学会在ASP.NET Core MVC 中使用Cookie

一.Cookie是什么? 我的朋友问我cookie是什么,用来干什么的,可是我居然无法清楚明白简短地向其阐述cookie,这不禁让我陷入了沉思:为什么我无法解释清楚,我对学习的方法产生了怀疑!所以我们在学习一个东西的时候,一定要做到知其然知其所以然. HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断用户身份.Cookie实际上是一小段的文本信息).客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cooki

[转]三分钟学会.NET Core Jwt 策略授权认证

[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而又苛刻的客户中,我们会不知所措,就现在需要将认证授权这一块也变的复杂而又实用起来,那在专业术语中就叫做自定义策略的API认证,本次案例运行在.NET Core 3.0中,最后我们将在swagger中进行浏览,来尝试项目是否正常,对于.NET Core 2.x 版本,这篇文章有些代码不适用,但我会在文

三分钟学会.NET微服务之Polly

原文:三分钟学会.NET微服务之Polly 熔断降级是一个非常重要的概念,我们先说一下什么是熔断降级,咱们都知道服务发现,一个有问题的服务器没来得急注销过一会就崩溃掉了,那么我们的请求就有可能访问一个已经崩溃的服务器,那么就会请求失败,因为已经game over了.那么这个问题怎么解决呢,你一定要承认,这个问题是无法避免的.没有什么方法说,我拿到的服务器都没有问题,这事是不可能的,所以你要承认你会有机会拿到有问题的服务器.那么熔断降级就是来解决这种问题的. 一.什么是熔断 熔断就像是“保险丝”,

三分钟学会不吃球

[转] [转]三分钟学会不吃球 2014.6.6 一.发下旋短球1. 要点 1)抛球不宜太高,眼睛一定要盯着球:2)手腕的力量大于前臂的力量:3)摩擦球底部,向前的力只要球能过网就行,几乎所有的力用来旋转.4)发球的第一落点在球台中区.二跳下不出台 . 2.特点:使对方不易发力抢拉.冲或抢攻.3.战术:最好是对方吃了直接得分,其次能为下一板创造机会,最次不能使对方直接进攻.二.接下旋球:1.判断:接发球关键是判断,如上图柳哥,球拍触球一瞬间摩擦球下部,由此可判断为下旋球,根据挥拍力量大小判断旋转

三分钟学会 JavaScript 单元测试

此篇文章使用 js-test-driver , 希望给无任何JavaScript 单元测试经验的开发者, 能在最短的时间内, 开展单元测试的工作? 附件: 三分钟学会 JavaScript 单元测试

跟我学系列教程——《13天让你学会Redis》火热报名中

学习目标 每天2小时,13天让你学会Redis. 本课程针对Redis新手,甚至连Redis是什么都没有听说过的同学.课程会详细介绍Redis是什么以及为什么要使用Redis,结合项目实践旨在让学生从零开始逐步晋升为一个Redis的优秀开发者. 适合人群 1. 在校学生:掌握多门存储技术,丰富毕业设计,贴近企业新技术 2. 在职开发:技术储备,提高晋升空间. 报名链接 点击报名 跟我学系列教程--<13天让你学会Redis>火热报名中

为知笔记 | 三分钟学会书写格式良好的笔记(Markdown)

三分钟学会书写格式良好的笔记(Markdown) 为知笔记内置了 markdown 语法支持,我们可以快速的编写格式良好的笔记,让自己写的笔记也可以赏心悦目. 新建笔记的时候,按照 markdown 语法书写,然后再标题后面加 .md 后缀(注意是英文半角小数点),保存后切换到阅读状态,就可以看到 markdown 渲染后的效果了. 为知笔记的 windows 版.Android 版.iOS 版.Mac版都支持 markdown 的渲染.在任何设备上,你都可以用简单的 markdown 语法创建

三分钟学会使用单例模式

单例模式是最简单的开发模式之一,也是最常使用的开发模式之一. 使用场景主要有:数据库连接.对文件的操作等,或者有共享的情况,也可以采用. 以下是代码详情,三分钟看完就懂了. 1 package designMode_java.singleton; 2 3 /** 4 * singleton 5 * @author anhelida 6 * 7 */ 8 public class SingletonBean { 9 10 //实例化对象 11 private static final Single

ASP.NET Core中的缓存[1]:如何在一个ASP.NET Core应用中使用缓存

.NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓存,.NET Core提供了针对Redis和SQL Server的原生支持.除了这个独立的缓存系统之外,ASP.NET Core还借助一个中间件实现了“响应缓存”,它会按照HTTP缓存规范对整个响应实施缓存.不过按照惯例,在对缓存进行系统介绍之前,我们还是先通过一些简单的实例演示感知一下如果在一个ASP.NET Core应用中如何