编辑
2025-09-25
C#
00

摘要

Quartz.net 是一个功能强大的用于调度任务的开源库,它允许你在指定的时间点或时间间隔触发任务。它被广泛用于 .NET 平台中的任务调度和定时任务管理。Quartz.net 提供了丰富的功能和灵活的调度选项,可以用于各种场景,如定时执行任务、后台作业、定时发送邮件等。

image.png

正文

Quartz.net 的主要作用是在指定的时间点或时间间隔执行任务。它允许你创建定时任务,根据特定的触发条件来调度任务,以及管理任务的状态、暂停和恢复任务等。

常用属性

  1. Scheduler:调度器对象,用于创建和管理任务。
  2. Trigger:触发器对象,定义任务的触发条件,如时间点或时间间隔。
  3. JobDetail:任务详情对象,定义要执行的任务。
  4. CronExpression:Cron 表达式,用于定义复杂的时间触发规则。
编辑
2025-09-25
C#
00

摘要

C#中的IDGen是一个非常实用的C#实现的Twitter Snowflake算法的ID生成器,它能够为C#应用程序提供高效、全局唯一的ID生成功能,特别是在高并发场景下,这个功能尤为重要。

Twitter Snowflake算法是一种非常棒的方法,用于生成全世界独一无二的ID。它基于当前时间和机器时钟的微秒级别差异,可以保证在1亿年内生成的ID都是独一无二的。这个算法非常适合在高并发的场景下使用,因为它能够避免出现ID冲突,从而提高系统的性能和稳定性。

在C#中,IDGen就是一个基于Twitter Snowflake算法实现的ID生成器。它的主要作用是为C#应用程序生成全局唯一的ID,可以通过简单的调用来实现。与其他ID生成器相比,IDGen具有以下优点:

  1. 高效:IDGen能够在高并发场景下生成高效、全局唯一的ID,可以避免ID冲突,提高系统的性能和稳定性。
  2. 全局唯一:IDGen生成的ID是全局唯一的,可以确保在任何时候都不会发生ID冲突。
  3. 支持多种数据类型:IDGen支持多种数据类型的ID生成,包括整数、字符串等,可以根据应用程序的需要进行灵活选择。
  4. 易于使用:IDGen非常易于使用,只需要简单的调用即可实现高效、全局唯一的ID生成。

正文

nuget 安装 IDGen库

image.png

编辑
2025-09-25
C#
00

摘要

在C#中,TaskScheduler是一种非常有用的功能,它允许您在指定的时间或间隔内执行任务。TaskScheduler是一个抽象类,它提供了一个通用的方法来计划和执行任务。您可以使用TaskScheduler来调度多个任务,并且在多线程环境中控制它们的执行。

正文

写一个继承TaskScheduler的类

C#
public class MyScheduler : TaskScheduler { protected override void QueueTask(Task task) { // 将任务排队到线程池中 ThreadPool.QueueUserWorkItem(_ => TryExecuteTask(task)); } protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued) { // 如果当前线程是调度器的线程,则在当前线程内执行任务 if (taskWasPreviouslyQueued && Thread.CurrentThread.IsThreadPoolThread) return TryExecuteTask(task); return false; } protected override IEnumerable<Task> GetScheduledTasks() { // 此方法用于调度器的内部追踪,不要求实现 return Enumerable.Empty<Task>(); } }
编辑
2025-09-25
C#
00

摘要

Remote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

正文

1.Redis 服务

Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

Redis 官网:https://redis.io/

源码地址:https://github.com/redis/redis

Redis 在线测试:http://try.redis.io/

Redis 命令参考:http://doc.redisfans.com/

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

编辑
2025-09-25
C#
00

摘要

缓存是一种非常常见的性能优化技术,在开发过程中经常会用到。.NET提供了内置的内存缓存类 MemoryCache,它可以很方便地存储数据并在后续的请求中快速读取,从而提高应用程序的响应速度。

正文

通过使用 Microsoft.Extensions.Caching.Memory,我们可以在 .NET Core 中轻松实现内存缓存功能,从而提高应用程序的性能和响应速度。在实际应用中,你可以根据具体需求来设置缓存的有效期和其他选项。

nuget 安装依赖 Microsoft.Extensions.Caching.Memory

image.png

一个简单例子