会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
贾光辉
博客园
首页
新随笔
联系
订阅
管理
2025年1月3日
设计模式合集
摘要: 目录引言设计模式的分类创建型模式结构型模式行为型模式 引言 这个系列的文章有很多,写这个合集只是作为个人学习记录,自己动手敲一遍加深理解记忆,还请各位大哥不要喷我😁。示例代码放在了 Github 上:https://github.com/Tangtang1997/DesignPatterns 在软
阅读全文
posted @ 2025-01-03 16:18 贾光辉
阅读(83)
评论(0)
推荐(0)
2024年12月25日
.NET 中的线程安全数据结构
摘要: 目录1. ConcurrentQueue2. ConcurrentStack3. ConcurrentBag4. ConcurrentDictionary<TKey, TValue>5. BlockingCollection6. ImmutableList7. SynchronizedCollect
阅读全文
posted @ 2024-12-25 11:09 贾光辉
阅读(849)
评论(3)
推荐(9)
2024年12月24日
在 .NET Core 中使用 ActionBlock 实现高效率的多步骤数据处理
摘要: 目录一、引言二、ActionBlock介绍什么是 ActionBlock?ActionBlock 的特点ActionBlock 的使用场景ActionBlock 的基本用法三、假设场景四、解决方案 一、引言 上一篇博客 分享了使用 Channel 来实现针对大量数据的多线程异步处理,感谢大哥们在评论
阅读全文
posted @ 2024-12-24 16:34 贾光辉
阅读(871)
评论(4)
推荐(9)
2024年12月23日
在 .NET Core 中使用 Channel 实现生产者消费者模式
摘要: 目录一、引言二、假设场景三、解决方案四、示例代码 一、引言 处理大量数据是一个常见的需求,传统的同步处理方式往往效率低下,尤其是在数据量非常大的情况下。本篇将介绍一种高效的多线程异步处理大数据量的方法,通过边处理边消费的方式,极大地提高了处理效率,并且减少了内存开销。这种解决方案只是实现这一需求的一
阅读全文
posted @ 2024-12-23 14:06 贾光辉
阅读(2469)
评论(15)
推荐(17)
2024年12月19日
使用 .NET Core 实现一个自定义日志记录器
摘要: 目录引言1. 抽象包1.1 定义日志记录接口1.2 定义日志记录抽象类1.3 表结构迁移2. EntityFramework Core 的实现2.1 数据库上下文2.2 实现日志写入3. MySqlConnector 的实现3.1 SQL脚本3.2 实现日志写入4. 使用示例 引言 在应用程序中,日
阅读全文
posted @ 2024-12-19 14:35 贾光辉
阅读(1680)
评论(2)
推荐(7)
2024年12月11日
深入理解 Task.Delay 的定时精度及其影响因素
摘要: 目录1. 原因2. 其他解决方案对比2.1. 使用 System.Threading.Timer2.2. 使用 System.Diagnostics.Stopwatch2.3. 使用示例3. 非常精准的解决方案4. 总结 1. 原因 在日常开发中,Task.Delay 是一个常用的异步延迟方法。然而
阅读全文
posted @ 2024-12-11 14:51 贾光辉
阅读(1854)
评论(5)
推荐(8)
2024年9月19日
EntityFramework Core并发迁移解决方案
摘要: 场景 目前一个项目中数据持久化采用EF Core + MySQL,使用CodeFirst模式开发,并且对数据进行了分库,运行期间库也会动态的增加,按照目前颗粒度分完之后,大概有一两百个库,每个库的数据都是相互隔离的。 借鉴了Github上一个开源的仓库 arch/UnitOfWork 实现UnitO
阅读全文
posted @ 2024-09-19 15:31 贾光辉
阅读(1229)
评论(5)
推荐(9)
2024年3月12日
.net core使用RabbitMQ
摘要:
目录1.基本概念2.环境搭建 RabbitMQ 是一个可靠且成熟的消息传递和流代理,它很容易部署在云环境、内部部署和本地机器上。它目前被全世界数百万人使用。 1.基本概念 生产者(Producer) 生产者是一个发送消息的程序。发送消息的程序可以是任何语言编写的,只要它能够连接到RabbitMQ服务
阅读全文
posted @ 2024-03-12 10:29 贾光辉
阅读(867)
评论(0)
推荐(3)
2023年6月1日
使用Minio Clinet将老版本Minio的数据迁移到新版本的Minio
摘要: ## 1. 关于[Minio Client]((https://min.io/docs/minio/linux/reference/minio-mc.html?ref=docs)): > >MinIO Client是一个命令行工具,用于与Minio或云存储服务进行交互。它支持文件系统和Amazon
阅读全文
posted @ 2023-06-01 14:49 贾光辉
阅读(3802)
评论(0)
推荐(0)
2022年12月8日
认识Github Actions
摘要:
Github Actions是什么? Github Actions 官方介绍:GitHub Actions是一个持续集成和持续交付(CI/CD)平台,允许您自动化构建、测试和部署管道。您可以创建构建和测试存储库中的每个拉取请求的工作流,或者将合并的拉取请求部署到生产中。 GitHub Actions
阅读全文
posted @ 2022-12-08 17:38 贾光辉
阅读(279)
评论(0)
推荐(2)
公告