- 博客(17)
- 资源 (14)
- 收藏
- 关注
原创 CAP 原则与BASE理论
CAP与BASE理论是分布式系统设计的两大核心原则。CAP定理指出在网络分区时必须在一致性和可用性间二选一(CP或AP),而BASE理论则进一步细化了AP系统的实践方案,提出基本可用、软状态和最终一致性的柔性处理方式。 两者形成互补关系:CAP是理论基础,定义了分布式系统的边界和局限;BASE则是工程实践,指导如何在AP架构下通过牺牲强一致性来保证高可用性。CP系统适用于金融等强一致场景,而AP+BASE的组合更适合互联网高并发应用,允许短暂不一致以换取系统可用性。 这种理论到实践的演进,反映了分布式系统从
2025-10-31 10:38:49
598
原创 redis事务与Lua脚本
Redis提供了两种事务处理机制:原生事务和Lua脚本。原生事务通过MULTI/EXEC命令实现命令队列的原子执行,具有WATCH乐观锁特性但不支持回滚。Lua脚本则提供更严格的原子性,支持复杂逻辑和单次网络往返,是事务功能的超集。比较表明,Lua脚本在原子性、网络开销和逻辑实现方面全面占优,推荐优先使用。仅当需要WATCH监控多个键且逻辑简单时,原生事务仍有价值。总体而言,Lua脚本更符合现代分布式系统对事务处理的需求。
2025-10-31 10:02:13
935
转载 【转载】SQL坑我们千百遍:CTE、临时表和子查询,谁才是初恋?
《SQL查询优化:CTE、临时表与子查询的实战选择》 摘要:本文深入探讨了SQL中三种数据处理方式的适用场景与性能差异。CTE(公用表表达式)在逻辑清晰度和可读性上表现优异,尤其适合单次引用和递归查询场景,但在PostgreSQL v12+和MySQL中复用CTE可能导致重复计算,需手动添加MATERIALIZED关键字。临时表虽显笨重,却是跨查询复用、大数据量索引优化和多语句共享的最佳选择,在MySQL/SQLite中尤为必要。子查询则适用于简单逻辑和标量场景。不同数据库对CTE的实现差异显著:SQLSe
2025-09-30 11:11:28
150
原创 c#结合IL(中间语言)分析Try-Catch的内部机制及其对性能的影响
机制try-catch依赖IL异常处理表和CLR栈展开实现。性能无异常时开销可忽略。抛出异常时开销极高,需谨慎使用。最佳实践:优先使用条件检查替代异常处理高频路径。通过理解IL和CLR的内部机制,开发者可以更合理地使用异常处理,平衡代码健壮性与性能。
2025-03-06 11:01:29
972
原创 js new Date(“0001-01-01 00:00:00“)结果不正确的问题
在 JavaScript 中,的解析结果可能因浏览器或环境差异出现错误(例如年份变成2001。
2025-02-22 17:02:32
432
原创 宝塔mysql8.0设置数据库区分大小写
在宝塔面板中,MySQL 数据库的大小写敏感设置是通过修改 MySQL 配置文件(,确保服务器配置与数据字典一致。Windows 文件系统不区分大小写,需设置为。在已初始化的 MySQL 实例中直接修改。在宝塔面板中修改 MySQL 配置文件(:备份文件中表名大小写与当前配置冲突。:统一备份文件和目标环境的表名为小写。输出应与配置文件中设置的值一致(如。,后续修改配置文件后直接重启服务。安装 MySQL 时未显式设置。:权限配置错误或数据目录未清空。参数,未重新初始化数据目录。需与配置文件中设置的值一致。
2025-02-20 10:07:03
1036
原创 json object转x-www-form-urlencoded
函数,它接受一个JSON对象作为参数,然后遍历对象的所有可枚举属性,使用。在JavaScript中,可以使用以下方法将JSON对象转换为。函数来编码键和值,并将它们以。字符连接每对键值对,从而形成。的形式连接起来,最终以。
2024-11-27 10:30:58
540
原创 .netcore IWebHostEnvironment.WebRootPath为null的问题
这通常意味着应用程序没有正确设置或识别出Web根目录。运行环境问题:在容器化环境或某些特定的开发环境中,可能会出现路径解析问题。如果上述步骤无法解决问题,可能需要进一步检查项目的配置文件和启动设置。如果是在Docker容器中运行,请确保容器的文件系统正确挂载了。的问题通常发生在尝试访问ASP.NET Core应用程序中的。文件夹,并且它包含在项目文件中(通常在。如果是自定义配置路径,请确保正确设置了。文件夹,它是用来存放静态文件的地方。文件夹可能不存在或者不在预期的位置。配置不正确,没有指定或识别出。
2024-11-14 09:59:28
790
原创 .NET 6 控制台程序(Console)读取配置appsettings.json配置文件
console读取appsettings.json配置项
2024-09-19 16:19:17
665
原创 css模拟font-style: italic;斜体
伪元素创建一个相同文本的背景,通过倾斜这个背景来模拟斜体效果。这种方法的优点是不会影响文本的行高和基线,但是需要额外的标签和属性来实现。这种方法的基本思路是将文字倾斜,然后通过额外的调整,回复到正常的位置。是用来将文字样式设置为斜体的。如果你想要模拟这种效果,但是不使用。属性来创建一个倾斜的背景,然后通过调整文字的位置来模拟斜体效果。属性,你可以使用一些其他的CSS技巧来实现。一种常见的方法是使用CSS的。另一种方法是使用伪元素和。
2024-07-20 10:49:35
1001
原创 c# 实现1ms精确延时
请注意,这种方法会占用CPU资源,而不是让出线程给其他线程使用。如果需要精确控制并且不希望占用CPU,可以考虑使用其他方法,如与硬件相关的定时器或者其他操作系统级别的延时机制。方法的精度受操作系统计时器和线程调度的影响,通常在Windows系统上可以达到15毫秒到16毫秒的精度。在C#中,实现1毫秒(1ms)精确延时可以使用。如果需要更高精度的延时,可以考虑使用。但是,需要注意的是,c# 1ms精确延时。
2024-03-12 15:21:17
2954
1
转载 【转载】文件识别浅谈(含office文件区分)
这种方式对一些图片视频文件类型识别较为准确,但是对于office文件的识别表现的不是太尽如人意,他无法区分excel,ppt,word等三种文件,且有些形式的office文件识别还存在一定的匹配错误。如果后端接口可以获取到完成的文件名称,则整个过程会变得很轻松,如果不考虑到客户恶意修改后缀名的情况,我们只需要对获取到的文件名进行截取即可,整个截取的代码种类也很多,下面分享一个我的实现。不可获取到文件名(文件流)
2023-03-13 16:15:34
411
转载 C# 结合 PInvoke 对接 IP 摄像头的笔记
最近做项目的时候,需要对接厂商提供的 IP 摄像头。但是他们只提供了 C++ 的 SDK,没办法,只能开始撸 C# 的 SDK Helper 类。本篇文章主要记录了对接 C++ DLL 需要注意的几个地方,以及常见类型的转换。要对接 C++ 的 DLL,首先得知道如何引用 DLL 内的方法。在 C# 当中,只需要编写符合 C++ 的函数签名,再使用[DllImport]特性指定 DLL 文件路径和入口点等参数即可。假如你需要使用 Win32 API 提供的方法,这里我以SetProcessDP...
2021-05-18 10:11:00
373
原创 希腊字母常用指代意义及其中文读音
希腊字母常用指代意义及其中文读音 序号 大写 小写 英语音标注音 英文 汉语名称 常用指代意义 1 Α α /'ælfə/ alpha 阿尔法 角度、系数、角加速度、第一个、电离度、转化率 2 Β β /'bi:tə/ 或 /'beɪtə/ beta 贝塔 角度、系数、磁通系数 3 Γ γ /'gæmə/ gamma
2020-06-30 12:40:29
1684
原创 C# 操作MongoDb(一) NoSQL数据库概述
NoSQL简介NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。RDBMS vs NoSQLRDBMS(遵循ACID规则)- 高度组织化结构化数据- 结构化查询语言(SQL) (SQL)- 数据和关系都存储在单独的表中。- 数据操纵语言,数据定义语言- 严格的一致性- 基础事务NoSQL()- 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式-键 - 值对存储,列存储,文档存储,图形数据库- 最终一致性,而非ACID属性.
2020-05-24 16:20:06
1344
原创 ASCII码表、ASCII码扩展表
ASCII码控制符号(不可打印字符,范围0~31及 127)二进制 十进制 十六进制 缩写 Unicode 表示法 脱出字符 表示法 名称/意义 00000000 0 00 NUL ␀ ^@ 空字符(Null) 00000001 1 01 SOH ␁ ^A 标题...
2020-02-16 15:39:48
15835
dhtmlxSpreadsheet v2.1标准版(web电子表格控件)
2017-12-20
dhtmlxVault2.4.1标准版
2017-12-13
新鲜出炉dhtmlx5.0.2专业版
2017-09-19
VisualSVN-6.3.1破解版本
2019-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅