第77篇 Redis中的Sentinel(哨兵模式)详解-牛翰网

第77篇 Redis中的Sentinel(哨兵模式)详解

前言 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存...
C#冒泡排序算法-牛翰网

C#冒泡排序算法

冒泡排序实现原理 冒泡排序是一种简单的排序算法,其原理如下: 从待排序的数组的第一个元素开始,依次比较相邻的两个元素。 如果前面的元素大于后面的元素(升序排序),则交换这两个元素的位...
redis缓存穿透和 缓存雪崩-牛翰网

redis缓存穿透和 缓存雪崩

在使用Redis作为缓存系统时,缓存穿透(Cache Penetration) 和 缓存雪崩(Cache Avalanche) 是两种常见的问题。它们会影响缓存系统的性能和稳定性。以下是这两种问题的详细解释及其解决方法。...
如何理解值传递的原理,string类型-牛翰网

如何理解值传递的原理,string类型

在 C# 中,参数传递的方式决定了方法内部对参数的修改是否会影响外部调用。对于 string 类型的参数,C# 使用的是按值传递(pass by value),这意味着在方法内部对 string 参数的重新赋值不会影...
WPF开发中重写Combox样式遇到的一些问题-牛翰网

WPF开发中重写Combox样式遇到的一些问题

在实际的WPF开发过程中,你可能需要自定义ComBox的样式,重写的样式可能不出效果,背景色无法正常显示,或者是显示的内容出现白色遮罩,如以下的效果: 1.ComBox样式如下: <Style TargetTyp...
泛型,泛型约束-牛翰网

泛型,泛型约束

什么是泛型? 泛型(Generics) 是一种编程技术,广泛应用于面向对象编程(OOP)中,特别是在C#、Java等现代编程语言中。泛型的核心思想是创建可以在多种数据类型上工作的类、接口和方法,而不...
.net core 中的MemoryCache的详细使用-牛翰网

.net core 中的MemoryCache的详细使用

项目搭建了一个基础的框架,实现缓存的AOP拦截,首次查询从数据库获取,再写入缓存,设置过期时间,再次查询数据时从缓存获取。 话不多说我们来上代码实现: 1.定义缓存的接口和实现类 定义缓存...
芯片中的AUX_ADC 测试-牛翰网

芯片中的AUX_ADC 测试

AUX_ADC 测试 方式,属于芯片模拟信号接口在不同电源/功耗状态下的功能验证。 以下是简单介绍: 1.什么是 AUX_ADC? AUX_ADC(Auxiliary Analog-to-Digital Converter) 是芯片内部的辅助 ADC ...
第41篇 Grpc实现客户端与服务端高效通信-牛翰网

第41篇 Grpc实现客户端与服务端高效通信

grpc的确是现在最流行的跨平台间的通信技术。远不止.net上使用。grpc是谷歌公司推出的跨语言平台之间的通信技术。和webapi不同的是,可以使用自己的语言和另一种语言进行通信。 简单来讲就是首...
短信验证码发送示例(腾讯云)-牛翰网

短信验证码发送示例(腾讯云)

以腾讯云的国内短信发送为例: 发送短信 代码示例 using System; using System.Threading.Tasks; using TencentCloud.Common; using TencentCloud.Common.Profile; using TencentCloud.