1. 分布式文件系统应用场景互联网海量非结构化数据的存储需求电商网站:海量商品图片视频网站:海量视频文件网盘:海量文件社交网站:海量图片1.1 Minio 介绍Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容 AWS S3 云存储服务接口,非常适合存储大容量非结构化的数据,如图片、视频、日志文件、备份数据等,而一 ......
20
0
0
2025-04-09
Redis作为一个成熟的数据存储中间件,它提供了完善的数据管理功能,比如之前我们提到过的数据过期和今天我们要讲的数据淘汰(evict)策略。在开始介绍Redis数据淘汰策略前,我先抛出几个问题,帮助大家更深刻理解Redis的数据淘汰策略。何为数据淘汰,Redis有了数据过期策略为什么还要有数据淘汰策略?淘汰哪些数据,有什么样的数据选取标准?Redis的数据淘 ......
15
0
0
2025-04-09
大多数情况下,前端很少遇到性能瓶颈。但如果在大型前端项目、数据量百万千万的场景下,有时候一些毫不起眼的代码习惯也可能会带来性能问题。if else 或许性能更优有时候我们为了偷懒,喜欢使用语法糖来缩减代码的编写,比如说判断两个字符串数组是否内容一致:/** * 判断两个字符串数组是否内容一致 */ function isStringArrayThe ......
13
0
0
2025-04-08
Python作为一种强大的编程语言,在Web开发领域也有着广泛的应用。通过结合Python的灵活性和一些高性能的框架和工具,我们可以构建出高性能的Web应用程序。本文将介绍一些关键的技术和方法,帮助你在Python环境下构建高性能的Web应用程序。选择合适的Web框架选择一个合适的Web框架是构建高性能Web应用程序的第一步。Python有许多优秀的Web框 ......
18
0
0
2025-04-07
深入浅出Tomcat网络通信的高并发处理机制随着互联网应用的快速发展,Web服务器面临的访问压力日益增大,如何高效处理高并发的网络请求成为关键Tomcat作为Java世界中最受欢迎的Web容器之一,可以灵活选择不同的IO模型来处理网络通信,确保面对高并发的网络请求时能够快速处理我们说到Tomcat中通过Connector来处理网络通信,其中Connector ......
31
0
0
2025-04-04
在绝大多数业务场景中,分布式数据库并非必需。事实上,约80%的应用程序都可以在单机环境下高效运行。对于绝大多数企业而言,数据库的数据量通常不会达到 TB 级别。在现代应用开发中,json 已成为数据交换和存储的常见格式。尽管 MongoDB 因其天然支持 json 而备受推崇,但 MySQL 也提供了强大的 json 数据类型支持,能够高效地处理 json ......
39
0
0
2025-04-03
Java中的锁主要用于保障多并发线程情况下数据的一致性。在多线程编程中为保障数据一致性,我们常需要在使用对象或方法之前加锁。这时若有其他线程也需要使用此对象或該方法,则产生要获得锁。如果某个线程发现锁正被其他线程使用,就会进入阻塞队列等待锁的释放,直到其它线程执行完毕并释放锁,該线程才有机会再次获取锁进行操作。这就保障了在同一时刻只有一个线程持有该对象的锁并 ......
20
0
0
2025-04-03
引言异步编程是现代软件开发中不可或缺的一部分,尤其是在处理 I/O 操作、网络请求、用户界面响应等需要高并发场景时。C++ 作为一门底层语言,为开发者提供了多种异步编程的工具和方法。本文将系统地探讨 C++ 异步编程的发展历程,从早期的回调方法,到 std::future 和 std::promise,再到现代的协程(coroutines),全面解析各个阶段 ......
27
0
0
2025-04-02
1.获取库的.dll和.lib(或.a)在资源管理器中找到对应库的.dll和.lib(或.a)如果第三方库不是Qt生成的:通常比较规范的第三方库,有lib和include两个文件夹。lib文件夹就是包含的库文件。include则包含头文件。如果第三方库是Qt生成的:(通过Qt创建库的方法请见另一篇文章)第三方库的构建时可以选择构建套件(Kit):使用的MSV ......
26
0
0
2025-04-02
关于 PaddleOCRSharpPaddleOCRSharp 是百度飞桨封装的.NET版本 OCR dll 类库,OCR(Optical Character Recognition)工具可以将图像文件中的文本内容进行识别,转换成可编辑的文本格式。从而进一步进行编辑、存储和分析。在实际的使用中,这款工具类库的确很优秀,无论从识别时间还是识别率来说,比较平衡比 ......
19
0
0
2025-04-02
Go gorm这篇文章主要先简单总结一下gorm的crud,什么是orm在学习gorm之前,先了解一下什么是orm在后端开发上,通常都要与资料库做操作(新增、修改、删除、查找),后端会撰写 SQL 语句,并且透过一些工具或套件(例如:pymysql)向 SQL 资料库来做沟通。而撰写原生 SQL 的缺点为:不可维护性:代码难阅读且不易维护。不可重用性:通常不 ......
38
0
0
2025-03-15
引言:要确保Kafka在使用过程中的稳定性,需要从kafka在业务中的使用周期进行依次保障。主要可以分为:事先预防(通过规范的使用、开发,预防问题产生)、运行时监控(保障集群稳定,出问题能及时发现)、故障时解决(有完整的应急预案)这三阶段。此外,如果需要对于Kafka的一些基础知识进行补充、学习,可以参考这篇文章:https://cloud.tencent. ......
55
0
0
2025-03-01
Go命令行操作这篇文章主要是简单总结一下go语言常用的命令go build(编译命令) // 编译,生成可执行文件 go build xxx.go ​ // 运行可执行文件,windows上会加上exe,linux没有后缀 ./可执行文件 ​ // go build+文件列表,会生成多个可执行文件 go build xxx.go ......
57
0
0
2025-03-01
前言在最近字节的面试中,面试管问了一个问题:你所知道的,MySQL都支持哪些锁?当时回答的不是特别好,因此写下这篇文章做个记录。方便自己复盘以及帮助各正在面试的小伙伴们。乐观锁乐观锁是一种并发控制机制,它假设在事务提交之前没有其他事务会修改相同的数据。对数据的操作是保持乐观态度的,因此被称为乐观锁。乐观锁通过记录版本号或者时间戳来判断数据是否被修改。回顾以前 ......
54
0
0
2025-03-01
Linux权限管理01. 文件访问者的分类在Linux系统中,用户(User)按照不同的角色和权限分为几个主要类型:超级用户(root):'root’用户可以被看作是系统管理员,拥有对系统的完全控制权。'root’用户能够执行所有命令并访问系统上的所有文件。由于这个权限级别的强大(和潜在的危险),不建议常规使用。系统用户(System Users):系统用户 ......
39
0
0
2025-02-27