欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 17:45:48
大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://github.com/qishibo/AnotherRedisDesktopManager/relea ......

  大家好,今天给大家说明如何在.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了。

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

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

[httpget("get")]
        public iactionresult getredisitem()
        {
           var item =  this.cachingprovider.get<string>("zaranet use easycaching");
           return ok(item);
        }

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

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