1. 为什么需要哨兵 第 10 篇讲的主从复制解决了数据冗余和读扩展,但留下一个致命缺口:主节点挂了怎么办? 纯主从架构下需要人工介入: 1. 运维收到告警(可
1. 为什么需要 Cluster 哨兵解决了高可用,但没解决扩展性: 存储受限于单机内存:所有数据都在一个主节点上,超过 10GB 就开始有 fork 慢、恢复慢、全量同步压力大的问
1. 分布式锁要解决什么问题 单机程序里用 synchronized、Mutex 就能保护临界区,因为所有线程在同一个进程的同一块内存里。但在分布式系
1. 缓存的基本模式 在讲问题之前,先明确缓存的三种经典读写模式。 1.1 Cache Aside(旁路缓存,最常用) 读: 1. 先读缓存 2. 命中 → 直接返回 3. 未命中 → 读数据
1. 排查方法论 线上出现"Redis 慢"时,不要一上来就乱调参数。按这个顺序定位: 1. 【确认现象】到底是什么慢? ├─ 所有请求都
1. 客户端选型 Go 生态里的 Redis 客户端: 库 说明 redis/go-redis 事实标准。功能最全(哨兵、集群、Stream、RESP3、OpenTelemetry),社区活跃,文
1. PostgreSQL简介 1.1 什么是PostgreSQL? PostgreSQL(简称Postgres)是一个功能强大的开源对象关系型数据库管理
1. 概述 本章将详细介绍PostgreSQL的数据库基础操作,包括创建、删除、修改数据库,以及与MySQL的对比。 2. 数据库操作 2.1 查看所有数据库 --
1. 概述 PostgreSQL拥有非常丰富的数据类型系统,远超MySQL。本章将详细介绍PostgreSQL的各种数据类型,并与MySQL进行对
1. 概述 本章介绍PostgreSQL中表的创建、修改和管理,并与MySQL进行详细对比。 2. 创建表 2.1 基本语法 -- PostgreSQL CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT
1. 概述 **约束(Constraint)**是数据库在存储层面强制保证数据完整性的规则。把校验放在数据库层而非全靠应用层,好处是:无论数据从哪
1. 概述 本章详细介绍PostgreSQL的基础查询语句,包括SELECT、WHERE、ORDER BY等,并与MySQL进行对比。 2. SELECT
1. 概述 多表连接(JOIN)是关系型数据库的核心功能。本章详细介绍PostgreSQL的各种JOIN类型及其应用场景。 2. JOIN类型概览 LEFT JOIN: 返
1. 概述 聚合函数对一组值进行计算并返回单个值。本章详细介绍PostgreSQL的聚合函数、分组查询和HAVING子句。 2. 基本聚合函数 2.1 COUN
1. 概述 本章详细介绍PostgreSQL的子查询和CTE(Common Table Expressions,公共表表达式),这些是编写复杂查询的强大工具。
1. 概述MySQL 8.0 起正式支持窗口函数(Window Functions)。它在不折叠行的前提下,对"窗口"内的一组行做聚合
1. 概述 本章介绍PostgreSQL的高级查询技巧,包括复杂条件查询、集合操作、分析函数等。 2. UNION操作 2.1 UNION和UNION ALL -- UNION: 合并
1. 概述 PostgreSQL对JSON的支持是其最强大的特性之一,提供了JSON和JSONB两种类型,以及丰富的操作符和函数。 2. JSON vs JSONB 2.1 类型对
1. 概述 数组和范围类型是 PostgreSQL 相对 MySQL 的独特优势。它们让某些原本需要额外关联表或复杂应用逻辑的场景,用一个字段就能优雅解决。 对比 MySQL:MySQ
1. 概述 全文搜索(Full Text Search, FTS)解决的是"在大量文本中按词检索并按相关性排序"的问题。普通的 LIKE '%关键词%' 有三大缺