zoukankan      html  css  js  c++  java
  • 三分钟学会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去做你觉得有价值的事情,都是非常简单的事情。

  • 相关阅读:
    【C# 代码小技巧】巧用 linq select 实现遍历集合返回元素 index
    [转载] redis 学习
    Html5 Canvas斗地主游戏
    K-近邻算法(KNN)
    Sql 把Xml字符串转换成一张表
    Asp.Net Mvc4分页,扩展HtmlHelper类
    SQL 分割字符串
    http://q.cnblogs.com/q/54251/
    读强化学习论文之MADDPG
    【回归】记Paddle强化学习训练营
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/11837518.html
Copyright © 2011-2022 走看看