- 博客(91)
- 资源 (8)
- 收藏
- 关注
原创 kubernets基础-StatefulSets资源详解
StatefulSets 是 Kubernetes 中用于管理有状态应用的工作负载 API 对象。有状态应用是指那些需要持久化数据和服务标识的应用程序,例如数据库、缓存集群等。与无状态应用不同,有状态应用中的每个实例通常都需要保持某些形式的状态,比如持久存储的数据或网络标识。在 Kubernetes 中,(PV) 和(PVC) 是用来管理持久化存储的关键概念。这两者共同工作,使得应用可以请求并使用持久化的存储空间。
2024-09-19 06:23:30 353
原创 每日学习一个数据结构-红黑树
红黑树(Red-Black Tree)是一种自平衡的二叉查找树(Binary Search Tree, BST)。红黑树的设计目的是为了在插入和删除操作期间保持树的平衡,从而确保操作的时间复杂度为 O(log n),其中 n 是树中的节点数量。这种平衡有助于在最坏情况下也保持良好的性能表现。
2024-09-19 06:18:29 394
原创 Lucene详解介绍以及底层原理说明
Lucene是一个高性能的全文搜索引擎库,它基于倒排索引技术实现快速、准确的搜索功能。下面我们将详细探讨Lucene的底层原理。
2024-09-18 21:00:53 350
原创 mysql数据库-binlog的两个主要用途
使用 Binlog 进行数据回滚是一项细致且复杂的工作,需要谨慎操作。在实际操作过程中,还需要根据具体情况调整上述步骤,并且确保操作的安全性和准确性。此外,对于大型数据库,手动反转 SQL 可能不是最有效的方法,此时可以考虑使用专门的工具或服务来进行数据恢复。
2024-09-18 15:46:31 673
原创 kubenets基础-kubectl常用命令行
kubectl是 Kubernetes 的强大工具,可以帮助你管理集群中的资源。掌握kubectl的基本命令对于有效地管理和监控 Kubernetes 集群至关重要。通过实践和探索kubectl的各种功能,你可以更好地理解和控制你的 Kubernetes 集群。
2024-09-18 07:39:50 686
原创 每日学习一个数据结构-FST数据结构与算法
定义:FST是一种有限状态机(FSM)的扩展,它不仅表示状态之间的转换,还能够在转换过程中携带额外的信息(即输出或值)。特性:确定性:在任何给定状态下,对于任何输入,最多只能遍历一个转换。非循环:不可能重复遍历同一个状态。转化器:具有相关的值(payload),final节点会输出一个值。FST是一种高效的数据结构,它通过复用前缀和后缀来压缩存储空间,并通过确定性的状态转换来加速查询过程。
2024-09-18 06:57:15 463
原创 每日学习一个数据结构-DFA确定有限状态机
基本概念状态(States)它由有限个状态组成,每个状态代表自动机在某个时刻的一种情况。例如,在识别数字的DFA中,可能有“初始状态”“识别到数字状态”等。输入字母表(Input Alphabet)它定义了自动机可以接受的输入字符集合。比如,对于只识别二进制数字的DFA,输入字母表就是{0, 1}。转移函数(Transition Function)它描述了从一个状态根据输入字符转移到另一个状态的规则。
2024-09-17 17:33:33 508
原创 关于接口幂等性的理解
接口的幂等性(Idempotence)是指一个操作可以被多次执行,并且无论执行多少次,结果都是相同的,不会改变最终的数据状态。简单来说,一个操作是幂等的,意味着多次执行该操作的效果与执行一次的效果相同。
2024-09-17 09:01:31 608
原创 每日一个数据结构-跳表
跳表(Skip List)是一种随机化的数据结构,它通过在有序链表上增加多级索引来实现快速查找、插入和删除操作。平均情况下,这些操作的时间复杂度均为 O(log n)。跳表的原理结合了链表和二分查找的思想,通过多层链表和指针跳跃来高效定位数据。
2024-09-17 08:15:13 262
原创 分布式中间件-分布式代理框架Codis和Twemproxy
选择哪个取决于具体的应用需求和技术背景。然而,随着社区的发展,许多云服务商也提供了托管的Redis解决方案,以及像Redis Cluster这样的原生解决方案,因此Codis项目的活跃度已经不如从前。不过,在选择Twemproxy之前,应该考虑到它是否符合你的特定需求,以及是否有其他更适合的技术方案,比如Redis Cluster或者其他的分布式缓存解决方案。所有Twemproxy的行为都是通过一个简单的配置文件来定义的,该配置文件包含了后端节点的信息(如地址和端口)、哈希环的设置以及其他相关参数。
2024-09-16 20:02:15 1369
原创 redisson实现分布式锁
Redisson是一个高性能的基于 Redis 的 Java 客户端库,它不仅提供了一个简单的 Redis 连接封装,而且还实现了多种高级功能,使得开发人员可以更容易地在应用程序中集成 Redis 的能力。Redisson 是一个非常强大的工具,可以帮助开发人员更容易地在 Java 应用程序中集成 Redis 的功能,尤其是在构建需要高性能、高可用性的分布式系统时非常有用。通过 Redisson,开发者可以专注于业务逻辑的实现,而不必担心底层的分布式协调和同步问题。
2024-09-16 07:06:54 1513
原创 每日学习一个数据结构-倒排表
一个简单的倒排表可以表示为一个哈希表,其中键是词条(例如词汇表中的单词),值是一个列表,包含了所有包含该词条的文档的标识符(如文档ID)。更复杂的实现可能包括额外的信息,如词条在文档中的位置、频率等,以便支持更高级的功能,如相关性评分。正排表是以文档为单位存储信息,而倒排表则是以单词或者词条为单位来组织信息。换句话说,倒排表是从单词到文档的映射,而不是从文档到单词的映射。倒排表的设计可以根据具体应用的需求进行优化,例如使用压缩技术减少存储空间,或者通过分布式存储来提高大规模数据集上的性能。
2024-09-15 21:19:56 452
原创 redis消息队列-redis stream详细说明
Redis Stream 是一种灵活且强大的数据结构,特别适合用于构建需要异步通信、日志聚合和实时监控的应用程序。通过结合 Stream 和 Consumer Group,可以构建出具有高可用性和容错性的消息系统。
2024-09-15 07:55:26 1101
原创 springboot基础-接入eureka服务发现
在 Spring Boot 应用中接入 Eureka 服务注册与发现是非常常见的做法,特别是当你正在构建一个基于微服务架构的应用时。如果你还没有配置 Eureka Server,你需要有一个运行中的 Eureka Server 实例。启动你的 Eureka Server 和你的 Spring Boot 应用,然后访问 Eureka Server 的 Web UI 页面(默认是。如果你的项目中已经包含了 Spring Cloud Starter,则上述依赖应该已经包含了必要的 Eureka 客户端。
2024-09-15 07:49:13 47
原创 每日学习一个数据结构-B+树
B+树是一种自平衡的树数据结构,广泛应用于数据库和操作系统的索引结构中,特别是在MySQL的InnoDB存储引擎中。它通过保持数据排序,使得搜索、插入、删除等操作都能在对数时间内完成。
2024-09-14 21:48:40 916
原创 每日学习一个数据结构-LSM树
LSM 树(Log-Structured Merge Tree)是一种专为写密集型应用程序设计的数据结构。它最初是为了克服传统 B+ 树在写操作中的性能瓶颈而提出的。LSM 树特别适合那些写操作远多于读操作的场景,如数据库系统、日志记录系统、键值存储系统等。下面详细解释 LSM 树的概念、结构、工作原理及其优缺点。
2024-09-14 06:37:24 971
原创 java基础-线程间通信方式
在 Java 中,线程间的通信是非常重要的,尤其是在多线程编程中,它有助于协调线程的行为,确保资源的正确访问和更新。这些方法都可以帮助你在 Java 中实现线程间的通信。选择哪种方法取决于你的具体需求和上下文环境。关键字可以确保变量的可见性,即一个线程修改了一个共享变量的值,另一个线程能立即看到这个变化。包来处理原子操作,可以用来实现线程安全的计数器或其他共享变量。阻塞队列是用于存放消息的容器,它支持生产者-消费者模式。信号量用于控制同时访问特定资源的线程数量。包来简化线程间的通信,其中包括。
2024-09-13 21:27:22 423
原创 嵌入式数据库sqlite和rocksdb的介绍以及对比
SQLite是一个轻量级的关系数据库管理系统,完全由 C 语言编写而成。它以单一文件的形式存储数据库,并且不需要独立的服务器进程或管理程序。SQLite 直接嵌入到应用程序中,这使得它非常适合移动设备、嵌入式系统和桌面应用程序。RocksDB是一个高性能的键值存储数据库,最初由 Facebook 开发,用于需要低延迟和高吞吐量的应用场景。它是专为现代硬件设计的,旨在提供高效的 I/O 性能。
2024-09-13 20:28:08 995
原创 springboot-数据库事务支持
Spring Boot中的事务传播机制定义了在一个方法调用另一个方法时,事务如何传播。:如果当前没有事务,就新建一个事务,如果已经存在一个事务,就加入到这个事务中。,这意味着每次调用这个方法时,都会创建一个新的事务,即使当前已经存在一个事务。:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。:支持当前事务,如果当前没有事务,就以非事务方式执行。:以非事务方式执行,如果当前存在事务,则抛出异常。:使用当前的事务,如果当前没有事务,就抛出异常。:新建事务,如果当前存在事务,把当前事务挂起。
2024-09-13 09:04:55 721
原创 springboot基础-logback组件配置使用
Logback提供了多种滚动策略,以满足不同的日志管理需求。你可以根据具体的应用场景选择合适的滚动策略,并通过配置文件进行详细的设置。这些策略可以帮助你有效地管理日志文件的大小和数量,确保日志系统的稳定性和可维护性。
2024-09-12 22:18:47 508
原创 一文教你弄懂网络协议栈以及报文格式
TCP/IP 模型是当今互联网通信的基础,它通过分层的方式定义了数据在网络中的传输过程。每一层都有其特定的功能和协议,确保数据能够准确、高效地从源地址传输到目的地址。理解 TCP/IP 模型对于网络工程师和技术人员来说至关重要,有助于解决网络问题和优化网络性能。IPv6 报文格式相比 IPv4 更加简洁,并且引入了新的字段以支持更多的功能。IPv6 报文可以包含多个扩展首部,这些首部提供了额外的功能,如逐跳选项、目的地选项、路由选项和分段选项等。理解这些报文格式有助于更好地掌握 IPv6 的工作机制。
2024-09-12 21:48:55 1171
原创 机器学习算法-决策树算法
决策树(Decision Tree)是一种常用的数据挖掘和机器学习算法,主要用于分类和回归任务。决策树通过从根节点到叶节点的路径来表示决策规则,其中每个内部节点代表一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一个类别或输出值。信息增益越大,说明该特征对数据集的分类贡献越大。信息增益偏向于选择具有较多唯一值的特征,因为它更容易减少熵。信息增益比通过除以分割信息来标准化信息增益,使得选择特征更加公平。通过预剪枝和后剪枝,可以有效地防止决策树过拟合,并提高模型的泛化能力。
2024-09-11 20:36:03 979
原创 分布式中间件-redis相关概念介绍
是一个开源的、基于内存的、使用ANSI C语言编写的Key-Value数据库。它支持多种数据结构,并提供丰富的API,使其成为高性能的缓存、消息队列、实时分析等场景的理想选择。
2024-09-11 20:32:42 1170
原创 mysql整体架构描述
MySQL 的内存结构主要包括几个关键组件,这些组件负责管理内存中的数据缓存、查询缓存、连接池等资源。然而,需要注意的是,MySQL 的内存使用应当根据实际的工作负载和硬件条件进行优化。MySQL 使用多种文件来存储数据和元数据,不同存储引擎会有不同的文件类型和格式。这些文件的用途和内容格式各不相同,具体取决于存储引擎和支持的功能。MyISAM 数据文件也是以二进制格式存储的,直接查看这些文件的内容通常需要专用工具。InnoDB 数据文件是以二进制格式存储的,直接查看这些文件的内容通常需要专用工具,如。
2024-09-11 07:43:37 1126
网页实时通讯socketio
2015-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人