自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(387)
  • 收藏
  • 关注

原创 突破与重塑:逃离Java舒适区,借Go语言复刻Redis的自我突破和成长

这一年来,大家围绕Redis技术点展开的日常提问与积极交流,就像源源不断的动力,极大地激发了我深入钻研Redis的热情。每一次与大家探讨那些复杂的技术难题,每一回解答大家提出的疑惑,都让我对Redis有了更为透彻的认知,也促使我在这条技术探索之路上不断迈进。正是因为有你们的存在,这个交流圈充满了活力与智慧的碰撞。你们的每一个问题,都像是打开新知识大门的钥匙;你们分享的每一种见解,都丰富了我对Redis技术体系的理解。新的一年已经悄然来临,衷心希望我们能够携手并进,在技术的海洋里继续畅游。

2025-01-24 01:19:53 1928 11

原创 聊聊java零拷贝的几种实现

内核函数),从而实现本地数据传输只需将数据从磁盘加载到页缓存,后直接写入到目标文件的页缓存地址,由此减少了切态和用户态到内核态的拷贝开销。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。在之前的文章中,笔者对零拷贝技术进行了比较详细的介绍,而本文将基于之前文章的理论,从。

2024-09-30 08:55:34 1116

原创 基于DynamicDataSource整合分库分表框架Shardingsphere

会出现各种奇奇怪怪的报错,对此笔者结合报错原因查阅网上资料和底层源码运行机制找到了相对简单的适配步骤,遂以此文分享一下整个过程,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。数据源完成了整合,实现多数据源场景下使用分库分表的操作,本文到此结束,希望这套方案对你有帮助。

2024-09-19 08:52:42 857 1

原创 mini-redis如何解析处理客户端请求

因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。自此笔者通过一篇文章, 介绍了笔者所实现的mini-redis中协议解析和指令处理的核心流程,希望对你理解笔者的源码有所帮助。协议的本质最简单的方式就是通过抓包的方式查看协议的基本格式和建立连接时的交互逻辑,所以这里笔者也贴出自己在研究。

2024-09-12 08:37:47 1379

原创 深度剖析Seata源码:解锁分布式事务处理的核心逻辑

多个服务节点协同工作时,如何确保一系列相互关联的操作要么全部成功提交,要么全部回滚,避免出现部分成功部分失败导致的数据不一致情况,这是众多开发者需要直面的挑战。对应的我们给出这块逻辑的核心入口代码,即位于Server的主函数入口的main方法,可以看到seata服务端的创建是基于netty完成的,完成创建和初始化之后就与协调者。它巧妙地将分布式事务处理的复杂逻辑进行抽象,通过。方法,该方法会通知TC驱动全局事务提交,而TC收到该请求之后,就会驱动各个分支事务提交事务,每个分支事务收到该请求后就会删除。

2025-02-26 00:00:00 1028 1

原创 RocketMQ常见问题与深度解析

通俗来说一个消息消费失败并重试达到最大次数后,MQ就会将其放到死信队列中。超过三天该消息就会被销毁。需要补充的时死信队列是针对一个group id为单位创建的队列,如果一个gourp中都没有死信的话,那么MQ就不会为这个组创建死信队列。

2025-02-19 00:41:54 684

原创 分布式架构洞察与拆解

基于这个架构我们的业务体量有所增加,此时无论是活跃用户数量还是数据量都有所上升,这时候我们一般都会考虑增加资源,于是我们将应用和数据库分离。这样做的好处是让软件和数据库可以专注于各自维度的优化,即应用是对外提供服务的,更着重追求CPU和内存。

2025-02-12 08:53:23 628

原创 Seata核心知识点大揭秘:分布式开发的关键密码

C(Consistency):一致性,每次读取到的数据都是实时最新的数据。A(Availability):可用性,每次发起调用都可以得到非错误的正常响应。P(Partition tolerance):分区容错性,即分布式系统遇到某节点或者网络分区故障的时候,系统仍然能够对外提供一致性或者可用性的服务。

2025-02-10 23:34:38 4833

原创 MySQL流式查询的奥秘与应用解析

很久没写开篇了,针对大数据采集分析和导出等功能,我们必须在内存和性能上做好折中,这其中笔者最爱的就是流式查询,而本文将基于多个角度针对流式查询这技能进行深入的分析和演示,希望对你有帮助。磁盘每秒的读写次数,一般以每秒输入输出量为单位进行衡量。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。

2025-02-10 08:35:12 1223

原创 Redisson全面解析:从使用方法到工作原理的深度探索

Redisson是基于原生redis操作指令上进一步的封装,屏蔽了redis数据结构的实现细节,开发可以像操作普通java对象一样使用redis,而本文将针对Redisson中各种使用的数据结构和工具包使用及其实现进行详尽的分析,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。

2025-02-08 23:47:45 1039 1

原创 深度剖析 Redisson 分布式锁:原理、实现与应用实践

红锁是redis作者Antirez提供的一个多节点分布式锁的算法,主要用于解决集群环境下分布式锁一致性问题,其做法大体思路如下客户端设置基于redis服务端获取起始时间,并基于超时时间算出取锁最长等待时间。基于这个时间点向redis集群节点发起上锁请求。当得到半数以上节点同一之后意为取锁成功。执行业务操作。对此我们也给出redissontry{//....

2025-02-08 23:46:00 929

原创 解读MySQL Explain关键字:优化查询执行计划的实用指南

key_len表示使用索引时,对应使用到的索引的长度,在MySQL的EXPLAIN语句中,key_len列表示使用索引的键部分的字节数。通常,key_len越小,性能就越好,因为它意味着需要读取更少的数据块。通过本文的阐述,您将了解如何解读EXPLAIN的输出结果,优化查询执行计划,提升数据库性能,以及避免常见的查询性能陷阱。无论您是初学者还是有经验的数据库专家,本文都将为您提供有价值的见解和实用的技巧,助您在MySQL数据库中更好地利用EXPLAIN关键字,优化查询性能,提升数据库应用的效率和稳定性。

2025-01-24 09:43:19 4338 1

原创 深入解析 Java 泛型的魅力与机制

道通配符是解决泛型之间无法协变的问题,当我们使用一种类型作为泛型参数时,却无法使用他的父类或者子类进行赋值,而通配符就是解决这种问题的对策。通过指定泛型的提升代码抽象等级,提升代码复用性。泛型界定元素的类型避免各种强转操作,且在编译器即可完成泛型检查,提升程序安全性。java是一门伪泛型语言,我们为元素指定泛型之后,实际执行原理是编译后将object强转为泛型设定的类型。

2025-01-23 09:44:12 2705

原创 Go 语言版 Redis 有序集合指令复刻探索

我们试图在 Go 语言的世界里,重新构建起那一套有序集合的指令体系,去挖掘其中的奥秘,去发现语言之间的共通与差异,去挑战自我并拓展技术的边界。返回到的值就是0,即aa位于跳表的第一个元素(除去头节点header),查询逻辑比较简单,通过字典确定是否存在,如果存在则到跳表中查询经过的步数,然后基于这个步数减去1得到元素的实际索引值。例如我们想知道test有序集合的长度,那么我们就可以直接通过zcard test得到结果,对应实现比较简单,在明确有序集合确实存在的情况下,直接返回底层的跳表的。

2024-12-31 08:36:49 1536 4

原创 解析Java集合工具类:功能与实践

二分插入排序法是插入排序法的升级版本,如下所示,我们都知道插入排序后左边的元素都是有序的,如果使用常规二分排序,那么最坏情况下插入时间是O(n),所以我们基于左边有序这个特点改用二分插入的方式完成排序优化了这个问题。在编程的广袤领域中,集合是一个至关重要的概念,它犹如数据的魔法盒子,承载着各种元素的有序或无序组合。这个函数则说明这个数组为不具备随机访问性的链表,为了保证性能,该方法会通过计算的方式得到计算出一个批量移动的区间,然后基于这两个整体进行批量的移动。

2024-12-30 16:15:28 3505

原创 探索数据结构之美——有序集合的内部机制

因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。当有序集合删除元素时,除了将该元素从字典中移除,还需要将跳表中关于该元素的指针和索引全部移除,如下图,假设我们要删除。的源码如下所示,以跳表结构为例,该方法首先通过字典定位到这个元素的score,然后通过跳表的。

2024-12-30 08:43:44 2011 1

原创 Java 并发流程工具的实战探索

希望本次的探索能为你在Java并发编程的道路上点亮一盏明灯,在未来面对各种并发挑战时,你能够熟练运用这些工具,编写出高效、可靠且易于维护的多线程程序,为构建更强大、更具竞争力的软件系统奠定坚实的基础。信号量多用于限流的场景,例如我们希望单位时间内只能有一个线程工作,我们就可以使用信号量,只有拿到线程的信号量才能工作,工作完成后释放信号量,其余线程才能争抢这个信号量并进行进一步的操作。即条件对象,不是很常用或者直接用到的对象,常用于线程等待唤醒操作,例如A线程需要等待某个条件的时候,我们可以通过。

2024-12-24 17:19:12 1194

原创 MySQL LEFT JOIN 性能优化策略

我们现在有一个驱动表customer,它存储客户id、姓名以及出生日期,默认情况下idcustomer有一张关联表,c_id记录着与其关联数据的id,并用记录客户余额,对应DDL假设此时数据库大约有2000w的数据,我们希望查出姓名为的用户的出生日期和可用余额,如果没有记录余额则设置为null,对应我们给出这样一条SQL最终查询结果如下,耗时大约是1s多一些,对于用户而言超过200ms。

2024-12-19 13:49:40 1096

原创 Go 语言下的 Redis 跳表设计与实现

redis中跳表通过score标识元素的大小,通过redis obj维护节点的信息,与此同时为了保证查询的高效,它会为每个节点维护一份随机高度的索引记录当前节点的某个前驱节点:/*跳表节点的定义。

2024-12-12 09:23:06 716

原创 高效索引的秘密:redis跳表设计与实现

Redis 的跳表设计通过多层指针的巧妙运用,不仅实现了高效的查找、插入和删除操作,还保持了较低的空间开销。这种数据结构的优势在于它能够在平均时间复杂度为 O(log n) 的情况下完成上述操作,这使得 Redis 在处理大量数据时依然能够保持高性能。此外,跳表的设计简单直观,易于实现和维护,这也进一步增强了其在实际应用中的吸引力。总之,Redis 跳表的成功案例证明了合理选择和优化数据结构对于构建高效系统的重要性。我是sharkchili优快云 Java 领域博客专家mini-redis。

2024-12-11 08:56:43 1166

原创 Linux磁盘与文件系统管理

EXT在格式化时会对系统进行inode/block/metadata提前划分,对于现如今动不动以PB、EB为单位的磁盘来说是非常耗时的。1. data section:有个和ext分区block group类似的allocation groups,该分区包含整个文件系统的superblock、剩余空间管理、inode管理与分配与追钟(注意inode和block位置都是动态配置产生的,相较于ext更快。

2024-12-08 21:08:20 3331 1

原创 JVM指令集概览:基础与应用

JVM 是一个抽象的计算机,它实现了 Java 编程语言的各种特性,并且能够执行编译后的字节码文件。我们将从最基础的加载和存储指令开始,逐步探讨控制转移、方法调用等更复杂的操作符,最终带领读者深入了解 JVM 内部工作机制的一角。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。

2024-11-28 09:06:45 1021

原创 synchronized 在 Java 多线程环境下的最佳实践

这种做法可能会导致上述所说的死锁问题,有个用户打算先买笔者本再买手机,另一个用户打算先买手机再买笔者本,这使得他们获取锁的顺序是相反的,如果他们同时执行业务逻辑。双方先取的各自的第一把锁,准备尝试获取第二把锁的时候发现锁被对方持有,双方僵持不下,造成线程死锁。有时候我们锁使用的确实没有错,但是锁的粒度太粗了,将一些非常耗时的方法放到锁里面,导致性能问题,就像下面这段代码。方法,它在实例上方法上锁,锁的对象是当前对象,在看看我们的代码并行流中的每一个线程的写法,永远都是。

2024-11-27 08:28:42 869

原创 初探JITWatch从零开始的流程优化之旅

我们再来一点进阶的使用,笔者的maven项目有下面这样一段代码,我们希望查看volatilenum++;

2024-11-10 20:58:31 1106 1

原创 CPU缓存一致性问题深度解析

希望通过本文的讲解,读者能够对缓存一致性问题有一个全面的理解,并掌握解决这一问题的有效方法。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。是总线嗅探的改良版,他很好的解决了总线的带宽压力,以及很好的解决了数据一致性问题。,由此减少写入内存的次数,如果没有发生缓存置换,这些数据就不会被写入内存中。

2024-11-09 09:12:10 988

原创 聊聊Java中的异常

程序运行逻辑输出结果不符合预期要求。程序执行时过程中因为处理不当或者资源不可用抛出Exception。引用guide哥的图片,Java:一些三方包方法签名上常会打上这些异常,告知用户可能存在这些异常需要提起预埋一下逻辑处理。:一些运行时可能出现的异常,但用户无需提前预埋处理。errors:一些比较严重的异常,它表示合理的应用程序不应尝试捕获的严重问题。

2024-11-01 08:54:10 1619 2

原创 动手复刻redis之go语言下的字典的设计与落地

的字典指令的复刻的安排稍微延误了一些些。在复刻过程中笔者针对redis的字典指令进行了完整的梳理,为了更加专注于指令的内部设计的思想的复刻,所有指令操作都是通过哈希集这个编码实现,再通过抽取核心逻辑按照原汁原味的函数名和函数逻辑,相信对于某些对原生redis源码感兴趣的读者来说,这份开源项目是有一定的参考价值的。,而go语言没有万能指针的概念,所以采用所有类型都可以转换成的接口指针记录对象指针,于是笔者在获取字典的时候,需要将接口指针所指向的接口还原为原有类型,如下所示的。累加,最终返回用户删除数。

2024-10-28 08:37:32 1281

原创 一文快速入门消息队列

我们举个实际的业务场景来说明这个功能的作用,例如某个折扣消息只有会员的用户可以收到,某些更加优惠的消息只有会员等级超过3级的用户才能收到,如果在。为1~10的消息,此时又接入了一个消费者B,它同样需要从头开始消费,按照现有情况就必须从10开始,这就不符合我们的要求了,对此。上述的各种方案保证的消费的性能,但还是存在一些小瑕疵,按照现有的方案,我们都知道消费者消费完某个消息后就会实时更新消费进度。从设置之初就避免引入额外组件保证高可用的设计思路,它通过角色规划了各个节点的职责,在集群的情况下,

2024-10-21 08:45:55 481

原创 聊聊Java中的字符串

因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。会将其存入字符串常量池。并且,字符串常量拼接得到的字符串常量在编译阶段就已经被存放字符串常量池,这个得益于编译器的优化。这里说到一个叫常量折叠的概念,常量折叠就是将常量表达式计算求值,并用求得的值来替换表达式,然后放到常量表中的一种机制。

2024-10-20 22:54:48 1148 1

原创 详解java数值类型核心知识点

我们比较推荐结合业务,小数变为整数进行计算,代码如下所示,我们完全可以结合业务场景决定将这段代码转为整数完成计算,如下所示,笔者将所有数值都乘10,这样一来所有计算都是整数计算,从而避免。为了得到-6的2进制的表示形式,我们首先将6的2进制取反。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。

2024-10-20 22:45:43 5357 1

原创 Java是值传递还是引用传递

形参即每个函数或者方法上的声明的占位符变量,如下代码整型的value实参:调用函数或方法时传的参数,如下代码就的func这个概念在c++c#中才有,简单来说就是将实参所指向的变量。

2024-10-20 22:34:24 1558

原创 聊聊java面向对象核心知识点

API规范应用开发人员,SPI服务于框架拓展人员。API更多强调的软件组件之间的规则和接口的约定,用户可以通过继承实现不同的业务逻辑,调用方只需调用即可。SPI则是一种拓展,用户必须通过导入SPI得到内置功能亦或者自行实现。更多关于SPI的讲解可以参考笔者这篇文章:序列化是Java内置的一种将对象进行持久化的技术手段,即将对象按照规定规范转成字节数组保存到物理文件中,需要时将字节数组通过反序列化还原成对象。反序列化时JVM不仅会比对类路径和功能代码是否一致,还会比对判断类型是否一致,只有字节流中的。

2024-10-20 21:38:02 1116

原创 来聊聊Java的反射机制

反射算是现代企业级应用中大型框架都会用到的一个特性,最经典的应用就是,而笔者近期也将过去关于反射的稿件进行梳理,来针对反射这一特性进行深入的分析和讲解,希望对你有所帮助。Hi,我是 sharkChili ,是个不断在硬核技术上作死的技术人,是 优快云的博客专家 ,也是开源项目 Java Guide 的维护者之一,熟悉 Java 也会一点 Go ,偶尔也会在 C源码 边缘徘徊。写过很多有意思的技术博客,也还在研究并输出技术的路上,希望我的文章对你有帮助,非常欢迎你关注我的公众号: 写代码的SharkChil

2024-10-20 21:25:56 1929

原创 聊一聊java一些核心知识点

Java简单易学,相较于C语言和C++,没有指针的概念,所以操作和使用是会相对容易一些。平台无关性,即Java程序可以通过Java虚拟机在不同硬件不同操作系统上运行,而无需进行任何修改。面向对象:面向对象是一种程序设计技术,以木匠工作为例,使用面向对象方式实现的木匠的工作关注重点永远是制作椅子,其次才是工具。而面向过程则优先关注制作工具。与C++不同的是,Java不支持多继承,取而代之的是更加简单的接口的概念。编译与解释并存:与C++RustGo不同的是,java。

2024-10-20 11:01:49 1156

原创 聊聊ElasticSearch性能调优

在分布式集群环境下,es每次写入必须所有副本节点完成同步后才会返回,所以为了索引等工作的效率,我们建议集群节点数也尽量不要超过3个,甚至说像是内部ELK日志系统、分布式链路追踪等场景副本数可以直接设置为1个,通过减少从节点个数避免主从同步的时间开销,提升系统执行效率。所以,为了保证写入时的效率,一般情况下我们建议服务器尽可能采用。的操作,需要补充的是,当我们的分片集群查询会经常得涉及排序、归并、聚合、过滤等需要需要在内存中进行运算的工作时,优先考虑多的具有多个内核的现代。

2024-10-18 08:41:47 817

原创 深度探索:Spring借助Easy - Es开启ElasticSearch操作实战篇章

默认情况下会扫描我们的文档实体完成索引创建,所以我们就可以直接声明文档的实体类型即直接使用,以本文为例,笔者创建的测试文档包含id、标题、内容几个字段,因为本案例多用内容的检索且文本内容多是中文,所以在进行字段设计的时候针对内容字段尝试将其设置为text类型,并将索引文档时用的分词器设置为。需要补充的是,在编写这篇文章之前,笔者对Easy-Es文档进行相对详细的阅读,个人认为Easy-Es1.0版本在实际项目中的集成和使用相对稳定一些,所以本文将以。

2024-10-17 08:42:37 1207

原创 ElasticSearch如何写入一篇文档

这篇文章我们来聊聊ES底层是如何完成文档的索引,需要强调的是这里索引的概念是一个动词,即通过指定规则将用户数据按照ES规定的数据结构存储到物理磁盘中,通过对本文的阅读,你将会对ES底层的工作机制有着更深刻的理解和掌握。需要注意的是合并大的segment需要消耗大量IO和CPU资源,如果任其肆意合并也会影响检索性能,所以ES默认情况下会对合并流程所消耗的资源进行限制,以最大化保证检索性能。会默默在后台进行合并操作来解决这个问题,将所有的小段合成大段,然后再将大段合并成更大段以最大化的减少。

2024-10-16 08:43:46 1678 1

原创 聊聊redis字典指令操作

为例,除去指令和key以外,键值对都是两两配对的,这意味着我们传入指令的参数必须是双数,所以hmsetCommand进行校验时会判断参数是否为双数如果不是则抛出异常。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。限定为到字典,然后遍历字典的每一个键值对返回,这里我们也直接给出源码,可以看到。

2024-10-15 08:43:26 1008

原创 技术洞察:深入剖析Elasticsearch文档读取的原理与实现

查询,该方法和上述的的差不多,但是相对轻量级一些,查询时会返回本页查询结果的唯一标识,这意味着我们可以基于这个标识进行翻页,虽然不能解决跳页问题,但由于其查询的原理是利用上一页或者下一页的唯一id值,所以不占用大量缓存空间,所以这种解决方案是笔者认为是大数据量场景下解决上下翻页问题的最优方案。综上所述,对于大数量的分页查询场景,综合来说,对于深分页查询问题我们可以采用折中的方案,因为前几页查询检索的数据量需要进行并归过滤的数据量不是很大,所以在前几页我们可以适配用户的体验采用跳页方式。

2024-10-14 09:23:26 3695

原创 Nacos源码研读第一步:环境搭建避坑指南与调试技巧

其实使用es并不难,难在了解es那些体系结构和工作机制,这对我们后续的es使用、线上故障排查、性能调优都有着质的帮助,所以本文将从顶层视角开始带读者了解es的体系结构,希望对你有帮助。中所提到的索引强调逻辑空间的概念,也就是从逻辑上来说用户所提交的文档(也就是提交的数据)是按照索引来划分的,但是从物理层面来说,这些索引所存储的数据本质上是落在不同的物理。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。

2024-10-12 08:42:54 773 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除