|
最新文章
|
知识管理交流
→『 技术文档交流 』
本版文数:12216 今日文数:6534
|
|
引言在现代分布式应用架构中,缓存已成为提升系统性能和用户体验的关键技术组件。随着业务规模的不断扩大和并发量的持续增长,单一级别的缓存往往无法满足复杂的性能需求。多级缓存架构通过在不同层次构建缓存体系,能够显著提升数据访问效率,降低数据库负载,并提供更好的系统可扩展性。本文将深入探讨C#环境下多级缓存的架构设计与实现,重...
|
|
一、常用数据结构Redis对外说values常用的数据结构是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合)等等,但是其实内部实现在不同情况下也与常见的数据结构有一定的不同。
二、内部编码String类型,有raw,int,embstr三种实现。raw:最基本的字符串...
|
|
一、相关概念引入1.1基本概念1、应用(Application)/系统(System)为了完成⼀整套服务的⼀个程序或者⼀组相互配合的程序群。⽣活例⼦类⽐:为了完成⼀项任务,⽽搭建的由⼀个⼈或者⼀群相互配的⼈组成的团队。2、模块(Module)/组件(Component)当应用较复杂时,为了分离职责,将其中具有清晰职责的...
|
|
一、什么是WebWorker?1、为什么需要webworkerJavaScript是“单线程”的,就像一个工人(主线程)同时只能做一件事:你让他“画页面”,他就画;你让他“算数据”,他就算;你同时让他画又让他算,他会傻住(页面卡死)。WebWorker的作用就相当于给JavaScript请了多个打工人(Worker)来...
|
|
咱们聊聊<a>标签。它太常见了,太不起眼了,以至于在你写HTML的时候,你可能根本不会多看它一眼。很多开发者觉得:“这不就是个超链接吗?点一下跳个转,完事。”大错特错。这个小小的标签,其实是Web世界里的瑞士军刀。它藏着语义化、无障碍访问、SEO权重、性能优化、安全控制以及优雅降级等一大堆黑科技。今天,我就带你扒一扒<...
|
|
一,下载安装ksweb1.选择Lighttpd/Nginx/Apache/三个中的任意一个开启服务2.默认创建了存放网站的文件夹,/htdocs(可自行更改)3.如果未创建,到相应配置下点击右下角+号创建,点击主机下方localhost可以修改4.开启PHP,开启MYSQL二,工具选择phpMyAdmin(不需要数据库...
|
|
背景最近需要做视频上传的功能,很自然的就想到要对文件做唯一性校验。避免同一个文件反复上传。
在用户选择文件后,先在前端计算文件的唯一值,然后发送到服务端用来判断这个文件是否上传过,如果上传过,就可以直接返回上传成功了。如果没有上传过,则开始上传。概念文件唯一性校验的基本原理是:通过对文件内容计算哈希值(HashVal...
|
|
前言在.NET生态的日常开发中,开发者往往需要花费大量时间编写重复的工具类代码——无论是字符串的空值判断、日期的格式转换,还是集合的筛选统计、数值的边界校验,这些“琐碎但必要”的操作不仅占用开发工时,还可能因团队编码习惯差异导致代码可读性差、维护成本高。为了解决这一痛点,各类.NET工具类库应运而生,而Z.Extens...
|
|
JavaScript作为一门不断发展的语言,其API也在持续进化。新的、更安全、更高效的API不断涌现,而一些旧的API则因为各种原因(如安全问题、性能瓶颈、设计缺陷或有了更好的替代品)被标记为“废弃”(Deprecated)。继续使用这些废弃的API可能会导致兼容性问题、安全漏洞,或者让我们的代码难以维护。1.doc...
|
|
操作文件和文件夹是程序开发中常用,无论是C/S和B/S都会存在操作文件的需求,比如上传新闻图片按日期创建文件夹,用文本文件存储用户信息等。下面介绍28种文件操作的方法,希望对大家的开发有所帮助1.创建文件夹//usingSystem.IO;Directory.CreateDirectory(path);2.创建文件//...
|
|
一、用属性代替可访问的字段1、.NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处;2、在属性的get和set访问器重可使用lock添加多线程的支持。二、readonly(运行时常量)和const(编译时常量)1、const只可用于基元类型、枚举、字符串,而readonly则可以是任何的类型;2、const在...
|
|
一、什么是委托1.1官方解释委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联,并通过委托实例调用该方法。1.2个人理解委托就是用于封装和执行方法(函数)的一个类。★事件是一种特殊的委托。二、如何声明委托C#中有四种常见的委托声明方式:2.1delegate(自定义委托)publ...
|
|
有用到SQLServer数据库的生产系统,请务必检查您的数据库文件和日志文件自增是按百分比还是按MB,如果是按百分比,请务必立即修改为按MB方式增长。很多用户默认建完数据库就没有做过任何调整,等到数据库变得越来越大的时候,故障就开始出现了。我们有经常看到用户的数据库有这样的:单个文件130G,当然不算大(见过单文件1T...
|
|
文章概述本文旨在帮助读者理解C#中的异步编程与多线程概念,探讨如何在C#中实现多线程,并对比分析不同实现方法的特点及其适用场景。全文分为两大部分,第一部分介绍异步编程模式async/await及其与多线程的区别,第二部分则聚焦于C#中实现多线程的三种主要方法:Thread、ThreadPool和Task。第一部分:异步...
|
|
在前端开发的世界里,浏览器存储一直是我们处理客户端数据持久化的重要工具。多年来,localStorage凭借其简单易用的API和跨会话持久化能力,成为了许多开发者的默认选择。然而,随着Web应用复杂度的提升、安全要求的加强,以及性能优化的迫切需求,localStorage的局限性也逐渐显露。
localStora...
|
|
在.NET的并发编程世界里,Thread和Task几乎是绕不开的两个概念。很多刚接触并发的同学,常常会把二者混为一谈,甚至纠结“到底该用Thread还是Task”。还有一种常见误解是:Task是用来替代Thread的。实际上,这种理解并不准确。Task并不是Thread的替代品,而是建立在Thread之上的一层高级抽象...
|
|
在计算机领域,请求乱序(Out-of-OrderRequests)指多个请求(如网络请求、任务处理、数据操作等)的响应顺序与它们的发起顺序不一致。这种现象常见于异步、并发或分布式系统中,可能导致数据错误、状态混乱或逻辑异常。
一、请求乱序的典型场景
前端异步请求示例:分页加载时,旧页请求比新页请求晚返回...
|
|
h6一、SQL的书写顺序要想了解SQL的执行顺序,先要了解SQL的书写顺序,以下是最常见的SQL语句的select语句的书写结构:SELECTDISTINCT列1,聚合函数(列2)AS别名--5.确定最终返回的列(去重、别名)FROM表1--1.确定数据来源(表/视图)JOIN表2ON表1.键=表2.键--2.关联多表...
|
|
一句话承诺:一张对照表+两段语法,让你快速写出“有则更新,无则插入”。#mermaid-svg-6oKpaHA0Fcm3oiqU#mermaid-svg-6oKpaHA0Fcm3oiqU.error-icon#mermaid-svg-6oKpaHA0Fcm3oiqU.error-text#mermaid-svg-6oK...
|
|
1.背景:关于“超过3张表禁止Join”的规约在《阿里巴巴Java开发手册》及许多互联网大厂规范中,常有一条规定:“关联查询的表数量不得超过3张”。这条规则的本质并非SQL语言的限制,而是为了规避在高并发(OLTP)场景下,因连接算法复杂度爆炸导致的数据库性能雪崩。本文将深入拆解底层的连接算法,解释其性能瓶颈,并分析数...
|
|
家宽的限制家用宽带普遍限制80和443端口,主要是为了落实网络安全与信息服务管理规定,防止个人用户未经备案搭建公开网站、服务或用于钓鱼、挖矿、黑产、PCDN等滥用行为,同时明确区分个人上网与经营性服务器业务,保障运营商网络秩序、降低安全风险与监管压力,确保公共网络环境稳定合规。我之前也写过关于使用cloudflare来...
|
|
无限滚动,又称瀑布流,已成为现代网站的标配。它能提升用户体验,让浏览更加流畅。分享下只需七行JavaScript代码,就能轻松实现高性能的无限滚动效果,并深入剖析其背后的性能优化原理。传统实现的痛点在谈论优化方案前,我们先来看看传统无限滚动实现中存在的问题:频繁的DOM操作:每次加载新内容都进行大量DOM节点创建和插入...
|
|
这不就是个网页嘛,有啥特别的?如果你对微信小程序的认识还停留在上面这种观点,那这篇文章将会彻底刷新你的认知。今天,我要告诉你一个核心真相:微信小程序的本质,是一个运行在微信这个超级应用内部的、拥有部分原生应用能力的轻量级应用容器。01误区破解,不止界面那么简单很多人初次看到小程序开发,发现用的WXML像HTML,WXS...
|
|
C#异步编程解析:为什么必须用async/await而不是Task.Run?在C#开发中,初学者常常会有这样的疑问:“既然Task.Run()可以把代码放到后台线程运行,不卡住主线程,为什么还需要写那么麻烦的async和await关键字?直接把所有方法都包在Task.Run里不就行了吗?”本文将从底层原理、资源消耗、应...
|
|
这两天,有个群友聊起了.NET开发工程师该不该学习.NET相关的AI中间件,他谈到学AI应该直接学习python。那么.NET相关AI中间件到底值不值得学习呢?这两年,“Python统治AI”几乎成了默认共识。各种模型、论文、框架的示例清一色都是Python,这让不少.NET开发者心里开始打鼓:是不是这套技术栈已经被时...
|