1.数据结构概述 数据结构是计算机存储、组织数据的方式。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能; 常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Grap ...
Amazon S3(Simple Storage Service)是一个高度可扩展、数据可用性高、安全性强的对象存储服务。 Amazon S3 使用对象存储架构,数据以对象的形式存储在桶(buckets)中,每个对象都有一个唯一的键(key)。 本文主要分为两个部分: 1、Amazon S3 相关概 ...
在开发ASP.NET Core应用程序时,全局异常处理是一个重要的概念。它允许我们集中处理应用程序中未捕获的异常,确保应用程序的稳定性和用户体验。 1. 为什么需要全局异常处理 全局异常处理的目的是为了: 统一错误响应:确保所有错误都以统一的格式返回给客户端。 避免敏感信息泄露:防止将内部错误细节暴 ...
说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该 ...
1.五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。 各数据类型介绍: Redis数据类型对应的底层数据结构 2.String 类型的应用场景 2.1 常用命令 存放键值 ...
当你面向业务开发时,做的应用架构设计就算是已经在做领域驱动设计了。 1.什么是领域驱动设计? 领域驱动设计最开始提出来的目的是为了简化业务人员与开发团队之间的沟通,以保证开发出来的软件产品不仅能够很好地解决业务领域问题并满足客户的需求,而且还能够简化或解决传统软件开发过程中遇到的各种问题(比如需求变 ...
1.与关系型数据库事务的区别 Redis事务是指将多条命令加入队列,一次批量执行多条命令,每条命令会按顺序执行,事务执行过程中不会被其他客户端发来的命令所打断。也就是说,Redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Redis事务和关系型数据库的事务不太一样,它不保证原子性 ...
1.Redis为什么这么快? 完全基于内存,数据存在内存中,绝大部分请求是纯粹的内存操作,非常快速,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分的开销。 数据结构简单,对数据操作也简单。【Redis中的数据结构】是专门进行设计的,每种数据结构都有一种或多种数据结构来支持。Redi ...
本系列为 RyuJIT 教程,将分为多篇进行更新发布,旨在给对 .NET 编译器有兴趣、以及希望参与 .NET JIT 编译器开发工作的人提供一些参考资料。 ...
前言 Redis作为企业级应用中广泛使用的高性能键值存储数据库,其性能优化是一个复杂且多面的话题。 Redis的性能优化涉及到硬件选择、配置调整、客户端优化、持久化策略等多个层面。 1.硬件优化 解决方案:选择更快的CPU、更多的内存、更快的磁盘(SSD推荐)和足够的网络带宽。 2.合理的实例部署 ...
一、前言 C#之Winform + Halcon实现图像直线查找功能 1、创建计量模型 HMetrologyModel 2、添加计量对象到线测量 3、设置计量对象参数 4、设置查找参数:边缘阈值、边缘选择、过度方式 5、显示测量点 二、运行结果 三、代码 double r1 = 50.00, c1 ...
本系列文章: OPCUA 探讨(一)——测试与开发环境搭建 OPCUA 探讨(二)——服务器节点初探 OPCUA 探讨(三)——客户端代码解读 OPCUA 探讨(四)——客户端代码解读2 前文中我们探讨了OPCUA客户端应用的基本配置,以及如何与OPCUA服务器建立会话(Session)。 OPCU ...
使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值,只有超过阈值的命令才会被记录,这里的单位是微妙,例如设置慢日志的阈值为5毫秒,同时设置只保留最近1000条慢日志记录: # 命令执行超过5毫秒记录慢日志 CONFIG SET slowlog-log-slowe ...
前言 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可 ...
前言 Redis单实例的架构,从最开始的一主N从,到读写分离,再到Sentinel哨兵机制,单实例的Redis缓存足以应对大多数的使用场景,也能实现主从故障迁移。 但是,在某些场景下,单实例存Redis缓存会存在的几个问题: 写并发:Redis单实例读写分离可以解决读操作的负载均衡,但对于写操作,仍 ...
前言 本地缓存带来的挑战有哪些 分布式缓存相比于本地缓存,在实现层面需要关注的点有哪些不同。梳理如下: 从上述几个维度的对比可以发现,同样是缓存,但集中式缓存所承担的使命是完全不一样的,业务对集中式缓存的存储容量、可靠性、承压性等方面的诉求也是天壤之别,不可等同视之。以Redis为例: 如何打破re ...
Realtiizor 的优势 现代美观的界面设计 Realtiizor 为 WinForm 应用带来了现代感十足的界面风格。它采用了流行的设计理念,如 Material Design 的元素融入,使得应用程序的外观瞬间提升到一个新的层次。无论是窗体的整体布局、按钮的样式还是文本框的呈现,都显得精致而 ...
1.什么是IdentityServer4? 它是一个中间件服务框架,集成OIDC与OAuth2.0, 方便搭建任意多个项目。 IdentityServer4的组成 Identity身份 Server服务器 4版本 源代码:https://github.com/IdentityServer 【1 ~ ...
1.跨域的相关概念 1.1 什么是跨域 同源策略是由 Netscape 提出的著名安全策略,是浏览器最核心、基本的安全功能,它限制了一个源(origin)中加载文本或者脚本与来自其他源(origin)中资源的交互方式,所谓的同源就是指协议、域名、端口相同。 当浏览器执行一个脚本时会检查是否同源,只有 ...
1.API保护 1.1 为什么要保护API 防泄漏 防攻击 1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口) 2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改) 3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放) ...