(精华)2020年7月20日 ASP.NET Core CSRedisCore的使用
发布日期:2021-06-29 15:08:08
浏览次数:3
分类:技术文章
本文共 2995 字,大约阅读时间需要 9 分钟。
首先安装如下包
Install-Package Caching.CSRedis
Install-Package CSRedisCore Install-Package Microsoft.Extensions.Caching.Memory
////// 使用缓存/// /// 建造者///public static IHostBuilder UseCache(this IHostBuilder hostBuilder){ hostBuilder.ConfigureServices((buidlerContext, services) => { var cacheOption = buidlerContext.Configuration.GetSection("Cache").Get (); switch (cacheOption.CacheType) { case CacheType.Memory: services.AddDistributedMemoryCache(); break; case CacheType.Redis: { var csredis = new CSRedisClient(cacheOption.RedisEndpoint); RedisHelper.Initialization(csredis); services.AddSingleton(csredis); services.AddSingleton (new CSRedisCache(RedisHelper.Instance)); }; break; default: throw new Exception("缓存类型无效"); } }); return hostBuilder;}class CacheOption{ public CacheType CacheType { get; set; } public string RedisEndpoint { get; set; }}
public class Program{ public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseIdHelper()//分布式自增Id组件 .UseLog()//使用serilog日志框架 .UseCache()//使用CSRedisCore缓存 .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); });}
使用
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Mvc;using Microsoft.Extensions.Caching.Distributed;using Microsoft.Extensions.Logging;namespace CORE.WEBERP.Controllers{ [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger_logger; readonly IDistributedCache _cache; public WeatherForecastController(ILogger logger, IDistributedCache cache) { _logger = logger; _cache = cache; } [HttpGet] public IEnumerable Get() { //缓存 _cache.SetStringAsync("redis测试", "123456ask"); //取缓存 string key=_cache.GetStringAsync("redis测试").ToString(); var rng = new Random(); return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }) .ToArray(); } }}
备注:其他函数请移到类库中去查看,本人博客里都有。
转载地址:https://codeboy.blog.csdn.net/article/details/107464157 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月04日 14时11分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
知乎热议:嵌入式开发中C++好用吗?
2019-04-29
这100道Linux常见面试题,看看你会多少?
2019-04-29
嵌入式开发中常用的几种通信接口总结
2019-04-29
什么?电路板上还要喷漆?
2019-04-29
读博读废了是种什么样的体验?
2019-04-29
2020年,技术圈十大“翻车”事件!
2019-04-29
C语言状态机编程思想
2019-04-29
为什么很多电器设备都要使用单片机?
2019-04-29
在中国做操作系统研发 20 年是种什么体验?
2019-04-29
PCB走线角度为90度到底行不行?
2019-04-29
这个 17 岁的黑客天才,破解了第一代 iPhone!
2019-04-29
在STM32价格疯长下,哪些国产32可以替代?
2019-04-29
半导体芯片原厂涨价及调价声明新增了这些!
2019-04-29
为什么你学C++这么难?
2019-04-29
无人机破巡检难题,秒变电网卫士
2019-04-29
五年,我成为了一名嵌入式工程师。
2019-04-29
2020年电赛题目,命题专家们怎么看?
2019-04-29
PCB元器件摆放不可忽略的10个技巧
2019-04-29
掌握AI核心技术没有秘籍,能自己创造就是王道
2019-04-29
大学老师的月薪多少?实话实说:4万多一点……
2019-04-29