一、项目场景:添加任务并设定任务的执行时间,然后按时间顺序由近到远依次执行。二、思路:可以利用redis的有序集合(SortedSet),用时间戳排序实现,大概的流程如下。三、关键思路&代码段写入任务使用任务下一次的执行时间按分钟生成key,将同一分钟待执行的任务放到一个key中,这一步主要思考的问题是:拆分队列,设置各自的过期时间,如:过期时间 = 执行时间 + 5分钟,保证过期的队列
转载 2023-06-10 22:12:29
326阅读
    Redis作为当下最流行的内存Nosql数据库,有着诸多的应用场景。在不同的应用场景,对Redis的部署、配置以及使用方式都存在的不同地方。根据我的工作经验,把队列、缓存、归并、去重等应用场景的“最佳实践”整理如下。    本文中的所有代码,均可在github上找到:https://github.com/huyanping/RedisStudy
转载 2023-08-14 17:37:00
81阅读
# .NET Core 队列详解 ## 1. 什么是队列队列是一种常见的数据结构,它按照“先进先出”(First-In-First-Out,FIFO)的原则存储和访问数据。类比于现实生活中排队等候的场景,新来的人必须排在队伍的末尾,而最先到达的人则会最先离开队列。 在计算机科学中,队列通常用于解决需要按照特定顺序处理任务的问题。例如,当多个请求同时到达服务器时,服务器需要按照请求的先后顺
原创 2023-08-24 06:55:24
351阅读
前言这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。什么是缓存缓存是实际工作中非常常用的一种提高性能的方法。缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最适用于不经常更改的数据。 通过缓存,可以比从原始数据源返回的数据的副本速度快得多。使用内存缓存(Memory
转载 2024-01-26 10:18:28
63阅读
1、单例(AddSingleton :注入一次,一直有效)区别: 服务在第一次请求时被创建,后边再次请求都会沿用这个已创建的服务。2、作用域(AddScoped :在一定的区域内 有效)区别:服务在每次请求时被创建,整个请求过程中都会使用这个创建的服务3、瞬时(AddTransient :每次请求都不一样 每次请求 都会重新new 一个新对象作用域)演示生命周期services.AddTransi
转载 2023-07-10 19:37:29
180阅读
# .NET CORE队列处理 ## 概述 在本文中,我将教会你如何使用.NET Core来进行队列处理。队列是一种非常常见的数据结构,用于实现异步消息传递和任务处理。我们将使用.NET Core提供的内置类库来创建和管理队列,以及处理队列中的消息。 ## 整体流程 以下是我们实现.NET Core队列处理的整体流程: | 步骤 | 描述 | | --- | --- | | 1 | 创建队列
原创 2023-08-27 11:46:37
210阅读
在现代的软件开发中,使用消息队列来实现异步通信已经越来越普遍。.Net Core框架提供了一种简单而灵活的方式来处理消息队列,本文将介绍如何在.Net Core中实现消息队列,并通过代码示例来演示整个过程。 ### 消息队列实现流程 下面是实现“.Net Core 消息队列”过程的具体步骤: | 步骤 | 描述 | |---|---| | 1 | 安装消息队列中间件(例如RabbitMQ)
原创 2024-05-17 10:46:12
249阅读
## .NET Core 消息队列 消息队列是一种在分布式系统中用于实现异步通信的机制。它允许应用程序通过将消息发送到队列中,而不是直接与其他应用程序进行通信来进行解耦,从而提高了系统的可扩展性和可靠性。在本文中,我们将介绍如何使用.NET Core构建和使用消息队列。 ### 消息队列的优势 使用消息队列有以下几个优点: 1. **解耦**:通过将消息发送到队列中,发送者和接收者之间的依
原创 2023-07-18 07:50:54
192阅读
CAP是什么?CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Start),具有轻量级、易使用、高性能等特点。 https://github.com/dotnetcore/CAP本博客主要针对易用性这一点,展开叙述,一起看看CAP如何结合EF Core和RabbitMQ带领小白轻松走入分布式
转载 2023-07-14 10:42:41
103阅读
## .NET Core异步消息队列的实现 ### 一、整体流程 下面是实现.NET Core异步消息队列的整体流程,我们将使用RabbitMQ作为消息队列的实现: | 步骤 | 描述 | | --- | --- | | 1 | 安装RabbitMQ | | 2 | 创建生产者项目 | | 3 | 创建消费者项目 | | 4 | 发送消息到队列 | | 5 | 接收并处理队列中的消息 |
原创 2023-08-01 13:48:15
131阅读
.net core 3实现了.net 标准2.1。1、生成可执行文件以前版本需要dotnet run运行项目,.net core 3支持直接生成目标平台的可执行文件。比如windows就是exe了,linux就+x了。2、生成依赖项的副本以前版本在build时不会把NuGet的工具复制到目标目录,新版本会复制,但不包括razor和链接(链接的含义不太清楚)。3、本地工具这个工具指NuGet的包,以
我们先从接手的一个项目中间穿插所提的一个需求开始,甲方有专门的app客户端,在其中配置一个模块,用户点击该模块进行单点登录,成功后嵌入我们的H5页面进行操作,相对应的操作将会触发调用甲方接口推送消息提醒。友好提醒:本文可能略长,请耐心阅读,若有更好方案,请于评论中给出业务分析甲方所提供的消息推送接口很简单,只不过有些需要注意的地方和甲方团队沟通好就完事。消息推送接口签名也很常见,主要是将各参数按照
原创 2021-05-06 09:12:57
2728阅读
新建的.net core 程序启动本质上是一个控制台应用程序,所以它的入口在Main方法中,所以启动的开始时从Main方法开始。1 public class Program 2 { 3 public static void Main(string[] args) 4 { 5 BuildWebHost(args).Run
转载 2023-12-06 19:10:04
44阅读
前言  稍微复杂一点的互联网项目,技术选型都可能会涉及Redis,.NetCore的生态越发完善,支持.NetCore的Redis客户端越来越多,下面三款常见的Redis客户端,相信大家平时或多或少用到一些,结合平时对三款客户端的使用,有些心得体会。先比较宏观的背景: 使用心得三款客户端Redis支持的连接字符串配置基本相同"connectionstrings": { "redis":
转载 2023-10-13 13:51:36
181阅读
Redis如何支撑秒杀秒杀场景的特征秒杀场景一般都是大量的用户抢购极少量的产品,这就带来一些性能上的问题。系统瞬时并发访问量高一般数据库能承受的并发数是千级别的,如果采用数据库直接应对秒杀场景多半会直接击垮数据库,而Redis每秒处理的请求能达到万级别甚至十万级别,所以在秒杀场景Redis是比较好的选择。系统读请求远大于写请求秒杀场景是一个典型的读多写少场景,大量用户都在不停的刷新请求,用户需要先
转载 2023-07-10 17:59:46
290阅读
前言在大学时期用过NIO手写消息队列,那时候还不会Netty,用原生的NIO出现了很多问题,例如自定义消息协议后socket无法正常关闭,需要手动修改缓冲区大小等问题。最近刚好学习了Netty,准备用Netty去重写这个消息队列。我将会带着大家从零开始,手写一款高性能、高安全性、持久化的消息队列。源码会同步到Github:https://github.com/Lyx0912/XY-MQ!!!介绍在
  在本人的上一篇博客文章:Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇 中,重点向大家介绍了AvatarMQ主要构成模块以及目前存在的优缺点。最后以一个生产者、消费者传递消息的例子,具体演示了AvatarMQ所具备的基本消息路由功能。而本文的写作目的,是想从开发、设计的角度,简单的对如何使用Netty,构建分布式消息队列背后的技术细节、原理,进行一下简单的分析和说明
本地启动redis控制台 && 安装redis服务(用于调试)1.下载最新版redis,选择.zip则是免安装的版本下载地址:https://github.com/MicrosoftArchive/redis/releases 2.解压到指定目录,并运行cmd命令3.在该文件夹下运行命令:redis-server.exe redis.windows.conf4.看到如下显示,则表示
原创 2021-04-25 21:25:58
1088阅读
# NET CORE Redis Session 在开发Web应用程序时,会遇到一些需要在多个请求之间共享数据的情况。例如,如果用户在登录成功后需要在整个会话期间保持登录状态,那么就需要一种方法来存储和访问这些会话数据。在.NET Core中,我们可以使用Redis存储会话数据。 ## Redis简介 Redis(REmote DIctionary Server)是一个基于内存的数据结构存储
原创 2024-02-11 09:45:08
39阅读
## .NET Core API Redis Redis是一个开源的内存数据结构存储系统,常用于缓存、消息队列、实时分析和排行榜等场景。在.NET Core中,我们可以通过使用Redis作为缓存来提高应用程序的性能和可伸缩性。本文将介绍如何在.NET Core API中使用Redis,并提供相应的代码示例。 ### 安装和配置Redis 在开始之前,我们需要先安装Redis并进行相应的配置。
原创 2023-07-31 22:03:12
73阅读
  • 1
  • 2
  • 3
  • 4
  • 5