缓存 接口redis core

用Redis实现延迟队列,我研究了两种方案,发现并不简单

大家好,我是三友~~ 背景 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就 ......
队列 方案 Redis

3 .NET Core笔试题

1.什么是ASP.NET Core? 2.ASP.NET Core 中AOP的支持有哪些? 3.ASP.NET Core Filter的注册方式有哪些? 4.ASP.NET Core Filter如何支持依赖注入? 5.ASP.NET Core 如何和读取配置文件中的内容? 6.ASP.NET Co ......
试题 Core NET

.Net Core后端架构实战【1-项目分层框架设计】

摘要:基于.NET Core 7.0WebApi后端架构实战【1-项目结构分层设计】 2023/02/05, ASP.NET Core 7.0, VS2022 引言 从实习到现在回想自己已经入行四年了,很庆幸自己一直还是从事着开发的工作。这几年不管是工作还是生活都有很多不甘与失落还有收获,从学校出来 ......
架构 实战 框架 项目 Core

分层测试(三):接口测试

分层测试系列文章 https://www.cnblogs.com/yuxiuyan/tag/%E5%88%86%E5%B1%82%E6%B5%8B%E8%AF%95/ 1. 什么是接口测试 接口测试是通过测试模块接口来检测模块整体逻辑是否符合预期的测试方法。 接口测试主要用于检测外部模块和模块接口数 ......
接口

.Net Core中使用NEST简单操作Elasticsearch

C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elasticsearch.Net相比之下更为原始直接非常自由。 注意:ES的8.X以上的版本有新的包Ela ......
Elasticsearch Core NEST Net

推荐一款.Net Core开发的后台管理系统YiShaAdmin

若依(RuoYi)是码云上一款精美的开源快速开发平台,作者毫无保留给个人及企业免费使用。RuoYi目前有三个版本:普通版本(RuoYi)、前后端分离版本(RuoYi-Vue)、微服务版本(RuoYi-Cloud)。.net的小伙伴们估计很羡慕JAVA的生态,现在.net core发展也很快,奈何生态 ......
YiShaAdmin 后台 管理系统 系统 Core

ASP.NET Core - 依赖注入(一)

1. Ioc 与 DI Ioc 和DI 这两个词大家都应该比较熟悉,这两者已经在各种开发语言各种框架中普遍使用,成为框架中的一种基本设施了。 Ioc 是控制反转, Inversion of Control 的缩写,DI 是依赖注入,Inject Dependency 的缩写。 所谓控制反转,反转的是 ......
Core ASP NET

ASP.NET Core - 依赖注入(二)

.NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注入(一)] 2.3 服务解析 通过 IServiceCollection 注册了服务之后,可以通过以 ......
Core ASP NET

ASP.NET Core - 自定义中间件

上一章讲了请求管道与中间件的基本概念和工作模式,也介绍了 ASP.NET Core 中内置的中间件,这一章介绍一下如何自定义中间件,这是很常用也很重要的内容,日常工作中很多场景我们都可以自定义自己的中间件,通过对请求管道进行拦截执行我们自己的业务逻辑,实现各种需求。这也是 ASP.NET Core ......
中间件 Core ASP NET

ASP.NET Core - .NET 6 的入口文件

自从.NET 6 开始,微软对应用的入口文件进行了调整,移除了 Main 方法和 Startup 文件,使用顶级语句的写法,将应用初始化的相关配置和操作全部集中在 Program.cs 文件中,如下: var builder = WebApplication.CreateBuilder(args); ......
NET 入口 文件 Core ASP

ASP.NET Core - 请求管道与中间件

1. 请求管道 请求管道是什么?请求管道描述的是一个请求进到我们的后端应用,后端应用如何处理的过程,从接收到请求,之后请求怎么流转,经过哪些处理,最后怎么返回响应。请求管道就是一次请求在后端应用的生命周期。了解请求管道,有助于我们明白后端应用是怎么工作的,我们的代码是怎么工作的,在我们的业务代码执行 ......
中间件 管道 Core ASP NET

【ASP.NET Core】标记帮助器——抽象层

标记帮助器,即 Tag Helpers。这个嘛,就直接翻译了,叫“标记帮助器”,虽然不好听,但只能这样了。当然你翻译为“标记增强器”也行。 所谓标记帮助器,就是针对 HTML 标签(不管是标准的还是自己命名的)进行扩展的做法。它是以 Razor 为基础的,服务于开发人员的。在服务器端用 C# 代码来 ......
标记 Core ASP NET

【ASP.NET Core】标记帮助器——元素筛选

前一篇中老周从标记帮助的底层介绍关键性的接口,如 ITagHelper ,它是一个标志,用于识别哪些类属于 Tag Helper。 标记帮助器毕竟是针对 HTML 标记的,所以得筛选。说白了就是我写的这个帮助器在哪些 HTML 标记上起作用。这就需要拿出一个特性类。 [AttributeUsage( ......
标记 元素 Core ASP NET

【ASP.NET Core】标记帮助器——替换元素名称

标记帮助器不仅可以给目标元素(标记)插入(或修改)属性,插入自定义的HTML内容,在某些需求中还可以替换原来标记的名称。 比如我们在使用 Blazor 时很熟悉的 Component 标记帮助器。在 Razor 文档中你将使用 <Component> 元素来设置要呈现的组件。而在实际处理时,会去掉 ......
标记 元素 名称 Core ASP

IDEA插件Apifox,一键自动生成接口文档!

有关Apifox软件之前写过一篇文章: 接口测试神器Apifox,亲测好用! 如何一键自动生成数据库文档之前也写过一篇文章: 数据库界的Swagger:一键生成数据库文档! 一、Apifox插件的优势 作为一名后端开发在项目开发过程中,肯定需要提供接口文档。 一般我们有两种方案 项目结合Swagge ......
自动生成 插件 接口 文档 Apifox

redis georadius源码分析与性能优化

原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
georadius 源码 性能 redis

.NET依赖注入之一个接口多个实现

前言 最近又在项目中碰到需要将原本单实现的接口改造成多个实现的场景,这里记录一下常见的几种改法。 假设已经存在如下接口ICustomService和其实现CustomService,由于只有一种实现,注入和使用非常容易。 public interface ICustomService { void ......
接口 多个 NET

云服务器安装 redis

下载地址:https://download.redis.io/releases/ 此处示例使用的版本是:redis-6.2.10.tar.gz 前提环境: 云服务器 Xshell(操作终端) Xftp(传输工具) Redis Desktop Manager(redis 可视化客户端,可选) 1. 下 ......
服务器 redis

redis(2)概述与安装

前言 redis安装在Linux服务器上,系统为centos7,安装的版本为redis6.2.10 下载与安装 下载地址:https://redis.io/download/#redis-downloads 点击上面的链接就能进入redis下载页面,最新的目前是7.0 这里使用的是6.2.10的版本 ......
redis

redis(10)事务和锁机制

Redis事务定义 Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis 事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard Redis 事务中有 Multi、Ex ......
机制 事务 redis

redis(1)NoSQL数据库简介

1.1 技术发展 redis是用来解决性能问题的数据库 技术的分类: 解决功能性问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN 解决扩展性问题:Struts、Spring、SpringMVC、Hibernate、Mybatis 解决性能问题:NoSQL、Ja ......
数据库 简介 数据 redis NoSQL

.Net Core(.Net6)创建grpc

1.环境要求 .Net6,Visual Studio 2019 以上 官方文档: https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/grpc/grpc-start Net Framework 版本: https://www.cnblogs ......
Net Core Net6 grpc

集合类再探:不可变类的好处,Collector接口详解,使用内部迭代

集合类再探 注:本文使用的pom依赖见文末。 💡 集合类的基础 — Iterable、Iterator java语言层面支持对实现了Iterable接口的对象使用for-each语句。Iterator可以实现有限流和无限流。 Collection类定义了基本的增删改查操作,转向基本数组类型(toA ......
Collector 好处 接口

学习ASP.NET Core Blazor编程系列二十六——登录(5)

登录的本质原理同网页应用是一样的,一般的流程是:用户打开登页--》输入账号密码后提交表单--》服务端验证成功后生成cookie信息写入浏览器--》之后用户访问页面时浏览器会带上此cookie信息作为用户标识--》服务端解析此cookie信息就能识别这个用户了。 在webapi出现之后,... ......
Blazor Core ASP NET

学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。 由于http的连接是状态的特性,server端和client是不... ......
Blazor Core ASP NET JWT

如何将 Autofac 整合进 Net6.0 Core MVC 项目中

一、前言 1、简而言之 Asp.Net Core Mvc,我也用了很长一段时间了,它现在的编程模型和方式还是特别棒的,都是组件开发,什么都可以替换,当然了,您别抬杠,有些还是不能替换的。自从我们进入了跨平台开发的时代,IOC容器也成了一个不可或缺的东西了。微软为我们提供了一个默认实现,那就是 ISe ......
Autofac 项目 Net6 Core Net

ASP.NET Core知识之RabbitMQ组件使用(二)

近期,业务调整,需要内网读取数据后存入到外网,同时,其他服务器也需要读取数据,于是我又盯上了RabbitMQ。在展开业务代码前,先看下RabbitMQ整体架构,可以看到Exchange和队列是多对多关系。 下面,我们详细说说RabbitMQ的队列模式:简单队列、工作队列、发布订阅模式、路由模式、主题 ......
组件 RabbitMQ 知识 Core ASP

深入理解跳表及其在Redis中的应用

跳表可以达到和红黑树一样的时间复杂度 O(logN),且实现简单,Redis 中的有序集合对象的底层数据结构就使用了跳表。本篇文章从调表的基础概念、节点、初始化、添加方法、搜索方法以及删除方法出发,介绍了调表的完整代码以及调表在redis中的应用。 ......
Redis

Redis避坑指南:为什么要有分布式锁?

JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑; 多服务多节点的情况下,就意味着有多个JVM进程,要做到这样,就需要有一个中间人; 分布式锁就是用来保证在同一时刻,仅有一个JVM进程中的一个线程在执行操作逻辑; 换句话说,JUC的锁和分布式锁都是一种保护系统资... ......
分布式 指南 Redis

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计

前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表)。接下来我们先简单概述一下这个系统主要需要实现的功能以及实现这些功能我们需要设计那些数据库集合。 MongoDB从入门到实战的相关教程 Mo ......
MongoDB 系统 实战 ToDoList 数据