前几天挖了个坑,今天就来填这个坑了。关于在ASP.NET Core 2.0下使用Redis的问题,目前StackExchange.Redis已经支持.Net Core 2.0了,而微软提供的Microsoft.Extensions.Caching.Redis.Core方法,也是对StackExchange.Redis的一种官方封装,是基于StackExchange.Redis的,但是大家反映StackExchange.Redis在.Net Core下高并发容易出现死锁问题,目前没有解决办法。

本例是基于CSRedis来实现的,namespace Biz126.RedisCache

{

public class RedisHelper : CSRedis.QuickHelperBase

{

public static IConfigurationRoot Configuration { get; internal set; }

public static void InitializeConfiguration(IConfigurationRoot cfg)

{

Configuration = cfg;

string ip, pass;

if (!int.TryParse(Convert.ToString(cfg["Redis:port"]), out int port)) port = 6379;

if (!int.TryParse(Convert.ToString(cfg["Redis:poolsize"]), out int poolsize)) poolsize = 50;

if (!int.TryParse(Convert.ToString(cfg["Redis:database"]), out int database)) database = 0;

ip = Convert.ToString(cfg["Redis:ip"]);

pass = Convert.ToString(cfg["Redis:pass"]);

Name = Convert.ToString(cfg["Redis:name"]);

Instance = new CSRedis.ConnectionPool(ip, port, poolsize);

Instance.Connected += (s, o) =>

{

CSRedis.RedisClient rc = s as CSRedis.RedisClient;

if (!string.IsNullOrEmpty(pass)) rc.Auth(pass);

if (database > 0) rc.Select(database);

};

}

}

}

需要添加对Microsoft.Extensions.Configuration的引用。

在主项目下,引用该类库,打开Startup文件,把之前的构造函数换成如下所示:public Startup(IHostingEnvironment env)

{

var builder = new ConfigurationBuilder()

.SetBasePath(env.ContentRootPath)

.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)

.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)

.AddEnvironmentVariables();

if (env.IsDevelopment())

{

// This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately.

builder.AddApplicationInsightsSettings(developerMode: true);

}

Configuration = builder.Build();

RedisHelper.InitializeConfiguration(Configuration); //Redis

}

同时之前的Configuration属性,也需要对应的修改,换成IConfigurationRoot类型,就可以了:public IConfigurationRoot Configuration { get; }

以上。

csredis封装_ASP.NET Core 2.0下使用Redis——基于CSRedis实现相关推荐

  1. asp.net mysql 事务_ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  2. .Net Core 3.0下AOP试水~~

    昨天躺了一下3.0的依赖注入的雷 今天顺势把AOP做了一下调整,比如自动化的AOP注入 默认的Program里面的CreateHostBuilder方法增加一行 public static IHost ...

  3. .NET Core 3.0之深入源码理解Kestrel的集成与应用(一)

    写在前面 ASP.NET Core 的 Web 服务器默认采用Kestrel,这是一个基于libuv(一个跨平台的基于Node.js的异步I/O库)的跨平台.轻量级的Web服务器. 在开始之前,先回顾 ...

  4. [翻译] ASP.NET Core 3.0 的新增功能

    全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更改,并提供相关文档的连接. Blazor Bl ...

  5. Entity Framework Core 2.0 特性介绍和使用指南

    前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...

  6. 在.net core 2.0中生成exe文件

    .net core 2.0程序默认生成的是一个dll,需要通过dotnet命令来执行他. dotnet ConsoleApp1.dll 这种方式有点类似于java程序.本身这种方式没有什么问题,但在调 ...

  7. centos php.ini redis,CentOS下安装Redis及Redis的PHP扩展

    1.安装Redis 1.1 如果没有安装wget,安装wgetyum install wgetwget http://download.redis.io/releases/redis-3.2.0.ta ...

  8. linux make编译报错 mv,Linux下安装redis

    1:首先下载redis  http://redis.io/download 2:  需要Linux安装gcc依赖 3:进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz 4:进 ...

  9. 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建...

    作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...

最新文章

  1. windows按照进程名称模糊搜索命令tasklist | findstr
  2. 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
  3. ArcGIS实验教程——实验三十七:基于ArcGIS的太阳辐射分析案例教程
  4. Sicily-1063
  5. flowable流程实例笔记(1)
  6. npm 全局安装node module并查看安装路径
  7. CCF201609试题
  8. Java http发送post请求
  9. 【转载】在回答WCF问题时,在我们的园子找到了一篇彪悍的文章
  10. 分布式框架的基石之远程通信协议
  11. OpenCV2中矩阵的归一化 normalize函数详解
  12. 几款引擎比较:BigWorld,Unreal,CryEngine等
  13. opencv与PIL处理图像视频
  14. J9数字论:DAO与Web3的联系
  15. 华硕P8H61-M+i3-3220 +GTX650
  16. 数据类型的划分和进制之间的转换方式(二进制,十进制,八进制,十六进制)
  17. windows访问共享文件夹 登录失败: 禁用当前的账户 解决方法
  18. wait()和sleep()的区别
  19. 取部门工资前三高的所有员工 -- sql 面试(三)
  20. 公众号、订阅号与服务号区别(微信5.0以上)

热门文章

  1. 小米集团本周再回购1920万港元股票
  2. 宿华、程一笑上市演讲:上市是接受更大机遇和挑战的新起点
  3. 华为上架自主地图应用Here WeGo 或登录HMS系统成为预装应用
  4. Surface Book 3现身3DMark:10nm架构升级
  5. 联合国总部宣布75周年活动用腾讯会议和企业微信举行
  6. 粉丝大失所望,罗永浩回应:做主播赚的不是脏钱
  7. 京东健康携手国控湖北 首批1500万只口罩专供湖北
  8. 荣耀双十一开门红:斩获多品类销量及销售额冠军
  9. 机器成为家人!华为发布2025十大趋势展望...
  10. 内存条和SSD都要涨价了!日韩贸易战将引起NAND与DRAM双涨效应