(精华)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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(精华)2020年7月21日 ASP.NET Core 模型验证过滤器
下一篇:2021-06-06 .NET高级班 41-ASP.NET Core log4.net日志框架的使用

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月04日 14时11分21秒