- 博客(14)
- 收藏
- 关注
原创 Redis持久化
Redis持久化技术详解:如何确保数据安全不丢失 摘要:Redis作为内存数据库,面临断电数据丢失的风险,持久化技术是解决这一问题的关键。文章详细介绍了三种持久化方案:1)RDB快照方式,通过定时保存全量数据,具有文件小、恢复快的优点,但可能丢失部分数据;2)AOF日志方式,记录每个写操作,数据完整性高但恢复较慢;3)混合持久化(Redis4.0+),结合RDB和AOF优势,实现快速恢复且数据完整。生产环境推荐开启混合持久化,同时配合定期RDB备份,既保证数据安全又兼顾性能。文章还解答了常见面试问题,强调持
2025-08-16 12:03:25
840
原创 Redis 的“五种武器”
Redis五种核心数据类型应用解析 本文系统介绍了Redis的五种核心数据类型及其典型应用场景: String - 万能存储类型,适合缓存、计数器和验证码存储(带过期时间) List - 双向链表结构,实现队列、栈和消息系统,支持阻塞操作 Hash - 键值对集合,高效存储和访问对象属性,适合用户资料和购物车 Set - 无序唯一集合,提供去重和集合运算,用于共同关注和抽奖系统 ZSet - 有序集合,自带排序功能,是排行榜和延迟任务的最佳选择 每种类型都有其独特优势:String简单易用但功能单一;Lis
2025-08-15 16:25:28
881
原创 Redis怎么用?5种数据结构详解+高并发场景应用(附Linux安装命令)
Redis作为高性能内存数据库,能有效解决高并发系统"卡顿"问题。其核心优势在于:1)内存存储实现纳秒级响应;2)单线程模型避免锁竞争;3)I/O多路复用处理高并发。提供五种数据结构:String(基础存储)、Hash(对象存储)、List(消息队列)、Set(去重)、ZSet(排行榜)。具备三大高可用机制:RDB/AOF持久化、键过期自动清理、主从哨兵集群架构。典型应用场景包括商品缓存、秒杀队列、用户会话管理等,可使系统响应从500ms降至5ms,降低数据库压力90%。安装支持Linu
2025-08-14 15:32:21
1494
原创 Linux指令
命令作用常用用法pwd确认当前位置pwdcd切换目录cd /etccd ..cd ~ls查看内容lsls -lls -lhls -A✅ 掌握这三条命令,你就拿到了 Linux 世界的“入门钥匙”。类别命令说明查看catheadtaillscpuifconfig读文件、看系统创建touchmkdir -p建文件、建目录复制cp -rcp -rp复制文件/目录移动mv移动或重命名删除rm -rf强制递归删除链接ln -sln软/硬链接搜索grepwhich找文本、找命令编辑vim。
2025-08-13 16:04:23
783
原创 Nacos注册中心
Nacos是微服务架构中的核心组件,相当于"通讯录+遥控器",解决了服务动态发现与配置管理的难题。文章通过实际场景展示:没有Nacos时,服务间调用会因IP/端口变更而失败;引入Nacos后,服务自动注册(nacos-client)到中心节点(nacos-server),实现动态发现与负载均衡。详细介绍了Nacos的安装步骤:配置JAVA_HOME、初始化MySQL数据库、启动单机模式,以及访问控制台。Nacos的核心价值在于使微服务具备自维护能力,支持服务自动注册、发现、更新,实现配置
2025-08-11 18:42:41
970
原创 微服务到底是什么
微服务架构解析:从单体应用到分布式系统的进化之路 微服务架构是一种将单一应用拆分为多个小型独立服务的分布式系统设计方法。每个微服务专注于特定业务功能,独立运行、开发和部署,通过轻量级机制(如HTTP)通信。相比传统单体架构(所有功能集中在一个应用中),微服务解决了维护困难、部署风险高等问题。SpringCloud等框架提供了服务发现、网关、熔断等关键组件,而SpringCloudAlibaba则整合了国产优秀组件形成一站式解决方案。微服务的核心价值在于高内聚低耦合的设计思想,而非简单的拆分动作,它使系统更灵
2025-08-11 12:48:24
992
原创 功能加了5年,代码谁都不敢删?该拆了!
【代码重构迫在眉睫!5年"缝合怪"模块如何拆解?】 面对堆积5年、功能混杂的"祖传代码"(如8000行集订单/库存/优惠等功能的单体模块),多数团队陷入"不敢删、不会改"的困境。这类代码往往存在:多服务强耦合、调用链复杂、文档缺失等问题,严重影响系统可维护性。 拆解方案分三步走: 1️⃣ 纵向拆分为多模块结构(订单/购物车/库存等独立子模块) 2️⃣ 每个模块独立部署,实现故障隔离 3️⃣ 集群化运行保障高可用 改造后优势明显: ✔️ 模块可单独修
2025-08-11 10:17:22
763
原创 介绍下Java中的static关键字
【摘要】static关键字用于定义类级别的共享成员,独立于实例存在。主要包括四种用法:1️⃣静态变量(类共享数据);2️⃣静态方法(无需实例直接调用);3️⃣静态代码块(类加载初始化);4️⃣静态内部类(独立组件)。核心特性是"类级别共享",但需注意:静态方法不能直接访问非静态成员,使用不当可能导致内存泄漏或线程安全问题。典型应用场景包括工具类、单例模式和常量定义,建议保持静态成员的不可变性以确保线程安全。
2025-08-10 22:34:07
948
原创 说说Java中final关键字的作用
🔒 Java中的final关键字详解(150字摘要) final在Java中用于声明不可变性: 1️⃣ 变量:值不可改(如final int x=10;),需显式初始化 2️⃣ 方法:禁止子类重写(如public final void method()) 3️⃣ 类:禁止继承(如public final class Math) 4️⃣ 参数:方法内不可修改参数值 📌 特点: 提升安全性(防止篡改) 增强可读性(明确设计意图) 帮助编译器优化 ⚠️ 注意:引用类型final变量仅锁定引用,对象内容仍可修改
2025-08-08 17:16:45
874
原创 请你说一下抽象类和接口的区别
摘要:抽象类与接口的核心区别在于设计理念:抽象类强调"是什么"的血缘继承关系,用于定义类族模板(如动物类),可包含具体实现和成员变量,但仅支持单继承;接口则定义"能做什么"的行为规范(如Comparable),允许多实现,默认方法均为抽象且变量为常量。抽象类适合有共同属性和部分共享逻辑的类层次,接口则侧重跨类别的能力扩展。两者的命名也体现了本质差异——抽象类抽取共性特征,接口则提供标准化"插座"。
2025-08-08 16:23:15
1192
原创 Java基本数据类型和引用类型
Java数据类型分为基本类型和引用类型。基本类型(8种)直接存储数据值于栈内存,包括整型(byte/short/int/long)、浮点型(float/double)、字符型(char)和布尔型(boolean),具有默认值且访问速度快。引用类型(类、数组、接口等)在栈存储对象地址,实际对象存于堆内存,默认值为null。核心区别在于:基本类型直接操作值,引用类型通过地址间接操作对象;方法传参时基本类型传值副本,引用类型传地址共享对象;"=="比较时基本类型比值,引用类型比地址。需注意空指
2025-08-08 15:33:18
329
原创 别再单打独斗了!你的系统该上“分布式集群”了
《分布式集群:互联网架构的终极形态》 分布式集群是互联网系统的核心架构模式,它融合了分布式和集群两大技术优势:1)将系统按功能拆分为独立服务(分布式);2)每个服务通过多实例部署形成集群。这种架构如同现代化企业:不同部门各司其职(分布式),每个部门又由多人协作(集群)。典型实现包含服务拆分、实例复制、负载均衡等关键环节,并依赖注册中心、配置中心等支撑组件。相比单体架构,分布式集群具备三大优势:超高并发能力、高可用保障和弹性伸缩特性,已成为支撑现代互联网业务的标准架构范式。
2025-08-08 11:05:39
590
原创 从单体到高并发:我是如何理解分布式与集群的
摘要: 本文用厨房分工的比喻,生动讲解了分布式系统和集群的概念。单体架构如同单人厨房,简单但扩展性差;分布式系统则像专业后厨,拆分不同服务(采购、烹饪、配送)协同工作,提升扩展性与容错性。集群则是复制相同服务实例(如多个厨师炒同一道菜),通过负载均衡应对高并发。两者常结合使用,如订单服务(分布式)部署多个实例(集群)。分布式适合复杂业务,集群解决性能瓶颈,但需权衡复杂度与运维成本。小项目慎用,避免过度设计。
2025-08-07 17:01:34
1498
1
原创 单体架构的理解
摘要: 单体项目将所有功能集中在一个应用中,结构简单但存在代码臃肿、开发耦合、性能瓶颈等缺点。适用于初期MVP、业务简单、低并发的小型系统(如OA、教务系统)。解决方案包括微服务拆分、模块化设计、异步处理等,但需权衡开发效率与复杂度。核心适用场景为“小而简单、稳而不变”的需求。
2025-08-07 16:06:04
792
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅