Kafka 抛弃 Zookeeper(引入 KRaft 模式)是为了解决长期依赖 Zookeeper 带来的性能瓶颈、架构复杂度、可扩展性限制等核心问题。这一变革并非否定 Zookeeper 的价值,而是 Kafka 作为高吞吐消息系统,在规模和性能需求爆发式增长后,对自身架构的一次“去耦合”与“性能重构”。 一、Zo […]
Kafka 抛弃 Zookeeper(引入 KRaft 模式)是为了解决长期依赖 Zookeeper 带来的性能瓶颈、架构复杂度、可扩展性限制等核心问题。这一变革并非否定 Zookeeper 的价值,而是 Kafka 作为高吞吐消息系统,在规模和性能需求爆发式增长后,对自身架构的一次“去耦合”与“性能重构”。 一、Zo […]
在高性能场景(如高并发读写、复杂查询、大数据量存储、多维度数据处理等)中,PostgreSQL 常被优先推荐,核心原因在于其更优的并发控制、更强的查询优化能力、更灵活的扩展性、更丰富的高性能特性——这些优势恰好匹配高性能场景对“吞吐量、低延迟、稳定性、功能灵活性”的核心需求。以下从 6 个关键维度,结合 Postgre […]
在 Redis 7.0+ 中,EXPIREAT 命令的功能得到了增强,使其更灵活和实用。以下是其增强选项的详解: EXPIREAT 基本功能 EXPIREAT 用于设置一个键的过期时间戳(以秒为单位)。例如: EXPIREAT key timestamp 这会将指定键的过期时间设置为给定的时间戳。 如果想设置毫秒级的时 […]
编译Nginx brotli模块下载 进入到/www/server目录,然后下载ngx_brotli模块。 git clone --recurse-submodules -j8 https://github.com/google/ngx_brotli 正常来说访问git需要开通VPN,其他情况看运气。 我是在本地电脑开 […]
在 MySQL 数据库的日常运维过程中,二进制文件的管理是一个重要环节。合理清理 MySQL 二进制文件不仅能够优化数据库性能,还能有效节省磁盘空间。今天,我们就来深入探讨一下 MySQL 二进制文件清理的相关知识。 一、MySQL 二进制文件是什么? MySQL 二进制文件主要包括二进制日志(binary log)和 […]
1. 引言 存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。 2. 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编 […]
背景 mysql分页查询是我们常见的需求,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况。我们可以把分页分为两个步骤: 定位偏移量 获取分页条数的数据 所以当数据较大页数较深时就涉及一次需要耗费较长时间的操作。所以mysql深度分页的问题该如何解决呢? 首先我们来看一个简单的查询: SELECT * FR […]
数据库事务的隔离级别有4种,由低到高分别是:Read uncommitted、Read committed、Repeatable read、Serializable。事物的并发操作中可能出现脏读,不可重复读,幻读。 数据库事务隔离级别: 未授权读取级别(读未提交): 也称为读未提交(Read Uncommitted)。 […]
Redis主从同步 数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布 记录。同步对读取操作的可扩展性和数据 […]
有一个奇怪的问题,假如MySQL 的自增 ID 用完了,怎么办? 这个知识点比较冷门,不过可以自己手动实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 create table t0(id int unsigned auto_increment primary key) ; insert int […]
创建索引 创建一个名为my_index的索引 PUT localhost:9200/my_index 创建映射 PUT localhost:9200/my_index/my_type/_mapping { "properties": { "name": { "type": "text" } } } 添加一个文档 PUT […]
MySQL 使用 explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考。 EXPLAIN SELECT * FROM t_store WHERE sn = 1; id select_type table partitions type possible_keys key key_len […]
四大特性(ACID): 原子性(Atomicity) 原子性指事务所包含的所有操作要么全部成功,要么全部失败回滚。 一致性(Consistemcy) 一致性是指事务必须使数据库从一个一致性状态改变到另外一个一致性状态,也就是说事务执行之前和执行之后都必须处于一致性状态。 隔离性(Isolation) 隔离性是当多个用户 […]
简介: Hibernate:ORM(对象关系映射)框架之一,对JDBC提供了比较完整的封装。Hibernate的O/R Mapping实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。 MyBatis:ORM框架之一,主要着力点在于POJO和SQL之间的映射关系。通过映射配置文件,将SQL所需的参数以及返 […]
参照mongoDB的ID生成策略,生成唯一ID。 一共12个字节(示例:5cecf0a8a7573ea439fa1a89) 前4个字节表示时间戳 再往后数3个字节表示运行当前程序的机器ID 再往后2个字节表示生成此id的进程的ID 最后3个字节表示由一个随机数开始的计数器生成的值 然后转为16进制的字符串。 源码如下: […]
上个月小张在学校里新开了一个业务:修理手机摄像头黑屏故障,修一次5块,修不好不要钱,修理超过5分钟不要钱。
朋友问他:你这样还有的赚?
小张回答:手机壳装反的人实在太多了。
COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.
Theme Kratos-plus By Dylan Li