自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 子数组/子串问题

子数组/子串问题 动态规划解法

2025-10-16 22:25:31 387

原创 回文串问题

回文串相关问题的动态规划解法

2025-10-16 20:21:57 838

原创 01/完全背包相关扩展

01背包/完全背包相关扩展

2025-10-16 18:42:37 508

原创 完全背包问题

完全背包例题和总结

2025-10-15 17:16:19 436

原创 01背包问题

01背包问题及其总结

2025-10-15 12:38:23 624

原创 两个数组的dp问题

两个数组的dp问题

2025-10-14 22:53:03 853

原创 快速上手protobuf

本文围绕使用 Protocol Buffers(Protobuf)实现 1.0 版本通讯录展开,旨在展示 Protobuf 的完整使用流程及基本语法。

2025-10-06 00:35:21 922

原创 protobuf安装

protobuf在Windows 和 Linux_Ubuntu下的安装

2025-10-06 00:12:40 1027

原创 初识Protobuf

protobuf简介

2025-10-05 15:23:02 323

原创 Redis 常见面试题

场景的redis面试题

2025-10-05 11:54:05 1056

原创 Redis分布式锁

本文围绕 Redis 分布式锁展开,先介绍其定义(解决分布式系统资源竞争,通过 Redis 设 key-value 实现加锁),再讲解核心实现:用set ex nx原子加锁 + 过期时间防死锁,用服务器标识作 value 防误解锁,用 Lua 脚本保证 “校验 - 解锁” 原子性,用看门狗线程动态续约锁;最后提及 Redlock 算法(多主节点冗余,半数以上加锁成功即有效),解决 Redis 节点宕机及主从同步延迟导致的锁失效问题。

2025-10-04 13:42:49 554

原创 Redis 缓存

本文介绍 Redis 三大用途(内存数据库、缓存、消息队列),重点聚焦最常用的缓存场景。先解释缓存本质是用快设备暂存慢设备数据,Redis 作为 MySQL 缓存可缓解数据库并发压力;接着讲两种缓存更新策略(定期生成热点数据,简单但实时性差;实时生成按需加载,需配合内存淘汰策略);最后说明缓存使用注意事项,包括缓存预热(提前导入热点数据)、缓存穿透(空值缓存或布隆过滤器应对)、缓存雪崩(错开 key 过期时间、增强集群可用性)、缓存击穿(热点 key 永不过期或用分布式锁)的解决方案。

2025-10-04 13:34:47 901 1

原创 Redis 集群

本文介绍 Redis 集群,其核心解决存储空间不足问题。涵盖三种数据分片算法:哈希求余(扩容开销大)、一致性哈希(易数据倾斜)、Redis 采用的哈希槽分区算法(16384 个槽,平衡网络与分片需求)。讲解通过 Docker 搭建 “3 主 6 从” 集群,利用-c实现客户端请求重定向。还阐述主节点故障时从节点竞选新主的转移流程,以及集群扩容(添加节点、重分配哈希槽)等操作,同时提及集群宕机情况与应对重要性。

2025-10-04 13:22:33 695

原创 Redis 哨兵

本文围绕 Redis 哨兵机制展开,介绍其在主从复制架构中实现自动故障转移的核心作用。当主节点宕机时,哨兵机制通过独立的redis-sentinel进程(与redis-server进程分离,不存储数据仅负责监控),借助自动化流程让从节点晋升为主节点,避免人工干预的繁琐与失误。

2025-10-04 11:33:50 746

原创 Redis 主从复制

本文围绕 Redis 主从复制展开,系统解析其定位、实战配置、核心操作及底层原理,旨在解决 Redis 单节点可用性低与性能瓶颈问题。

2025-10-04 09:51:54 577

原创 Redis 事务

本文聚焦 Redis 事务的特性、原理与实践,重点对比其与 MySQL 事务的差异,明确 Redis 事务 “弱化版” 的定位及核心价值。

2025-10-02 13:53:02 1047

原创 Redis 持久化机制

本文全面解析 Redis 持久化机制,涵盖 RDB、AOF 及混合持久化方案。

2025-10-02 11:34:19 1348

原创 C++ 操作 Redis

本文聚焦 C++ 环境下使用redis-plus-plus库操作 Redis 的完整流程,从环境搭建到核心命令实操,构建 “安装 - 连接 - 命令 - 优化” 的实践框架,帮助开发者快速掌握 C++ 与 Redis 的交互逻辑。

2025-10-01 20:36:07 1083

原创 Redis 数据库管理与通信基础

本文围绕 Redis 的基础操作与通信逻辑展开,系统解析数据库管理规则、客户端使用场景及 RESP 协议原理,搭建 “数据隔离 - 交互入口 - 通信语言” 的完整认知框架。

2025-10-01 18:38:12 604

原创 Redis 渐进式遍历

本文围绕 Redis 渐进式遍历展开,核心解析scan命令如何解决keys命令遍历大规模 key 时的阻塞问题

2025-10-01 12:22:06 581

原创 Redis 扩展数据类型

本文聚焦 Redis 除基础类型外的五大特殊数据类型 ——Stream、Geospatial、HyperLogLog、Bitmap 与 Bitfields

2025-10-01 12:06:52 573

原创 Redis Zset 类型全解析

本文围绕 Redis Zset(有序集合)展开全面解析,同时聚焦其底层核心结构跳表,构建 “类型特性 - 命令体系 - 编码逻辑 - 应用场景 - 跳表原理” 的完整知识链。

2025-10-01 12:06:13 949

原创 Redis Set 类型全解析

本文围绕 Redis Set 类型展开系统性解析,从核心特性、命令体系、底层编码到应用场景与实践优化,构建完整知识框架。

2025-09-30 22:52:20 793

原创 Redis List 类型全解析

本文围绕 Redis List 类型展开系统性解析,从核心特性、命令体系、底层编码到应用场景与优化逻辑,构建完整知识框架。

2025-09-30 22:27:48 1137

原创 Redis String 类型全解析

本文围绕 Redis String 类型展开全方位解析,从核心特性、命令体系、编码优化、应用场景到业务适配逻辑,构建了完整的知识框架。

2025-09-29 15:47:07 999

原创 redis单线程模型

本文系统解析了 Redis 单线程模型的工作原理、高效密码。

2025-09-29 15:46:53 885

原创 redis常见数据结构及其编码方式

本文聚焦 Redis 数据结构的底层编码优化逻辑,揭示 “抽象类型与底层实现分离” 的核心设计。

2025-09-28 15:43:59 891

原创 redis通用命令

本文围绕 Redis 的基础命令与底层原理展开,系统梳理四类核心命令:键值对基础操作(set/get)、键的批量管理(keys/exists/del)、过期时间控制(expire/ttl)、数据类型查询(type),详细说明各命令的语法、特性与使用注意事项,重点警示keys命令的生产环境风险及del命令的误删影响。在此基础上,深入解析面试高频考点 “键过期策略”(定期删除 + 惰性删除),并拓展讲解优先级队列、时间轮两种定时器实现原理,揭示 Redis 策略选择的底层逻辑。

2025-09-28 15:43:48 1108

原创 环境搭建,Ubuntu 安装、客户端使用与性能认知

本文从 Ubuntu 的 Redis 安装实操切入,带你完成 “安装 - 配置 - 连接” 的全流程,拆解了三类客户端的适用场景,更澄清了 Redis 的性能边界。

2025-09-28 15:43:16 932

原创 redis特性和应用场景

本文系统解析了 Redis 作为分布式系统核心中间件的核心价值,从特性、性能、能力、场景四大维度展开论述。

2025-09-28 15:42:00 878

原创 从单机到分布式:系统架构演进的七步成长指南

本文以 “问题驱动演进” 为核心逻辑,系统拆解了从单机到分布式的 7 步架构成长路径。从单机架构的原始形态出发,依次讲解了应用与数据库分离、引入应用集群与负载均衡、实现数据库读写分离、部署 Redis 缓存、落地分库分表、拆分微服务的演进脉络,每一步均对应业务增长中出现的资源冲突、流量压力、存储瓶颈等具体问题。同时,文章前置解析了 Redis 的核心价值,补充了分布式领域易混淆的核心概念(如集群、主从、中间件等),并客观分析了微服务的利弊。

2025-09-28 11:45:29 882

原创 MySQL --视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

2024-09-27 06:00:00 1063

原创 MySQL --用户管理

如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。

2024-09-27 05:30:00 1159

原创 MySQL --索引(下)

索引覆盖是指索引上的信息足够满足查询请求,不需要再回到主键或数据表中去取数据。当查询可以完全利用索引中的数据满足查询需求时,就称之为索引覆盖。

2024-09-26 07:00:00 1386

原创 MySQL --事务

事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。事务就是要做的或所做的事情,主要用于处理操作量大,复杂度高的数据。

2024-09-26 05:00:00 1656

原创 MySQL --表的内连和外连

表的连接分为内连和外连。

2024-09-25 06:00:00 408

原创 MySQL --索引(上)

MySQL索引是数据库表中一个或多个列的值进行排序的一种数据结构,用于帮助MySQL高效地查询和更新数据表中的记录。索引可以极大地提高数据库的查询速度,但同时也可能会降低更新表的速度(如插入、删除和更新操作),因为数据库不仅需要维护数据,还需要维护索引。索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的 create index ,查询速度就可能提高成百上千倍。

2024-09-25 06:00:00 1015

原创 MySQL --复合查询

多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句。在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此要联合查询。查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J。示例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人。显示平均工资低于2000的部门号和它的平均工资。

2024-09-24 07:00:00 1274

原创 MySQL --内置函数

要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值。这里把逗号替换成了“”,这个不计入长度,整体长度减除逗号外的长度等于逗号出现次数。md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串。显示所有留言信息,发布日期只显示日期,不用显示时间。请查询在2分钟内发布的帖子。

2024-09-24 06:00:00 422

原创 MySQL --基本查询(下)

在MySQL中,“截断表”(Truncate Table)是一个快速删除表中所有行数据的操作,但它不会删除表本身,也不会重置表的自增ID(这取决于表是否使用了AUTO_INCREMENT属性以及MySQL的版本和存储引擎)。相比,TRUNCATE TABLE语句通常执行得更快,因为它不记录每一行数据的删除操作到事务日志中,而是直接重新创建表(对于支持这种优化的存储引擎而言)。– 将 duplicate_table 的去重数据插入到 no_duplicate_table。对查询到的结果进行列值更新。

2024-09-23 12:48:04 1395

空空如也

空空如也

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

TA关注的人

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