第32篇 .Net特性Attribute的高级使用
今天给大家讲讲.net中特性的高级使用 1.什么是特性 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。 用[]来标识,在.Net 框...
第73篇 IdentityServer4的简单介绍
1.什么是IdentityServer4? 它是一个中间件服务框架,集成OIDC与OAuth2.0, 方便搭建任意多个项目。 IdentityServer4的组成 Identity身份 Server服务器 4版本 源代码:https://github.com/Identit...
第77篇 Redis中的Sentinel(哨兵模式)详解
前言 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存...
第36篇 linux服务器上启动framework应用程序流程
framework开发的应用程序,一般是不会在linux服务器上运行的,但是我们可以通过mono进行应用部署 1.查看linux服务上是否已经安装mono-core 方式1: rpm命令查看 rpm -qa | grep mono-core 有结...
SignalR实时通信,多客户端与服务端交互
1.SignalR介绍 SignalR是一个开源的库,跨平台;让Web应用与其他应用通讯变得很简单,Web服务端可以实时的将内容推送给对应的客户端,客户端发送的信息也可以实时到其他客户端。 SignalR提供了...
redis缓存穿透和 缓存雪崩
在使用Redis作为缓存系统时,缓存穿透(Cache Penetration) 和 缓存雪崩(Cache Avalanche) 是两种常见的问题。它们会影响缓存系统的性能和稳定性。以下是这两种问题的详细解释及其解决方法。...
.net core 中的MemoryCache的详细使用
项目搭建了一个基础的框架,实现缓存的AOP拦截,首次查询从数据库获取,再写入缓存,设置过期时间,再次查询数据时从缓存获取。 话不多说我们来上代码实现: 1.定义缓存的接口和实现类 定义缓存...
第41篇 Grpc实现客户端与服务端高效通信
grpc的确是现在最流行的跨平台间的通信技术。远不止.net上使用。grpc是谷歌公司推出的跨语言平台之间的通信技术。和webapi不同的是,可以使用自己的语言和另一种语言进行通信。 简单来讲就是首...