自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (1)
  • 收藏
  • 关注

原创 Seata原理分析

Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色,帮助经济体平稳的度过历年的双11,对上层业务进行了有力的技术支撑。经过多年沉淀与积累,其商业化产品先后在阿里云、金融云上售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助用户快速落地分布式事务解决方案。

2025-08-24 12:25:37 858

原创 Nacos 深度指南:从入门到高可用集群部署

基于心跳机制(默认5秒发送一次心跳,15秒未收到则标记为不健康,30秒未收到则删除实例),适用于高可用场景(如电商商品服务)。基于主动探测(如HTTP/TCP检查),注册信息存储在数据库(需外置MySQL),适用于对一致性要求高的场景(如金融交易服务)。

2025-08-21 16:49:49 736

原创 Eureka和Nacos的原理分析

相似点:两者都基于服务注册发现模型,支持心跳机制和集群部署,适用于微服务架构。差异点功能范围:Eureka专注服务发现;Nacos集成服务发现和配置管理,提供更完整解决方案。一致性模型:Eureka偏向AP,强调可用性;Nacos支持CP/AP切换,灵活应对不同需求。实时性:Nacos的Push模式在服务变更响应上更快;Eureka依赖客户端轮询。存储:Eureka使用内存存储,重启后数据丢失;Nacos支持持久化存储,数据更可靠。适用场景。

2025-08-21 13:56:00 661

原创 SpringCloud整合Hystrix

使用@Service// 调用支付服务,配置熔断(超时2秒)和降级方法fallbackMethod = "getPaymentFallback", // 降级方法名@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "2000") // 超时时间// 模拟远程调用(实际可能用 RestTemplate 或 Feign)// 降级方法:返回预设响应。

2025-08-18 15:19:26 291

原创 Spring Cloud整合Eureka、ZooKeeper、原理分析

的压缩包到/export/servers路径下去,然后准备进行安装。,适用于 AP 场景(高可用、分区容忍)。(CP 系统),适用于需要强一致性的场景。Eureka 是 Netflix 开源的。ZooKeeper 是。

2025-08-17 10:09:05 917

原创 Redis分布式锁

此实现满足基本分布式锁需求,生产环境建议使用Redisson等成熟框架处理更复杂的边界条件。

2025-08-15 11:11:57 135

原创 布隆过滤器原理分析、应用场景、与redis使用案例

布隆过滤器通过牺牲少量准确性换取高空间效率和快速查询,适用于对误判率可容忍的场景。其核心在于合理选择位数组长度 m、哈希函数数量 k 和预估元素数量 n,并通过哈希函数均匀分布元素以降低误判率。变种方案如计数布隆过滤器和动态布隆过滤器进一步扩展了其应用范围。

2025-08-12 15:19:03 754

原创 Redis7 GEO功能介绍与电商场景案例解析

Redis7的GEO功能为电商场景提供了轻量级、高效率的地理位置解决方案。通过GEORADIUS和GEOSEARCH命令,可轻松实现“附近商家推荐”“物流轨迹追踪”等功能。京东、淘宝等头部电商通过Redis GEO与分片集群、缓存预热等技术结合,支撑了亿级用户的高并发地理查询需求。实际开发中,建议结合业务场景优化参数(如COUNT限制、单位选择),并定期进行性能压测。

2025-08-11 16:27:14 341

原创 Unity插件DOTween使用

通过灵活组合上述功能,可实现复杂的UI动效、场景过渡和角色动画!

2025-08-11 16:21:03 969

原创 亿级系统中四种统计类型在抖音与淘宝的Redis实践分析

通过合理选择Redis数据结构,抖音与淘宝成功解决了亿级系统中的统计难题,实现了高性能、低延迟的用户体验。:对多数据源进行汇总计算(如求和、平均值),需支持高并发原子操作。:计算集合中唯一元素的数量(如UV统计),需高效处理大数据量。:根据特定规则(如分数、时间)对数据进行动态排序。

2025-08-11 10:02:09 479

原创 Spring Boot 2 集成 Redis 集群详解

通过以上步骤,您已成功在 Spring Boot 2 中集成 Redis 集群。关键点包括正确配置集群节点、使用处理连接、以及自定义确保序列化。Redis 集群自动处理数据分片和故障转移,提升了应用的可靠性和扩展性。如果有更多需求(如事务处理或 pub/sub),可扩展类。建议参考Spring Data Redis 文档进一步优化。

2025-08-09 14:51:33 846

原创 Redis7集群搭建与原理分析

通过上述架构,Redis 集群实现了线性扩展(每增加节点提升约 100K QPS)和故障自动恢复能力,适用于高并发分布式场景。:集群节点数不超过 1000,单个分片数据量控制在 20GB 以内。输出应包含主从关系和槽位分配信息。表示每个主节点配 1 个从节点。

2025-08-08 17:38:47 448

原创 Redis 7主从复制与哨兵模式搭建

哨兵(Sentinel)监控主节点,需至少三个哨兵实例(推荐奇数个,避免脑裂)。主从复制需一个主节点(Master)和至少一个从节点(Slave)。确保所有服务器已安装Redis 7。哨兵会自动选举新主节点(如原从节点)。: 创建主节点配置文件。: 创建从节点配置文件。: 创建哨兵配置文件。

2025-08-08 10:15:42 277

原创 Redis7中的RDB和AOF持久化机制详解

在 Redis 7 中,RDB 和 AOF 是互补的持久化机制:RDB 提供高效备份,AOF 确保高持久性。Redis 7 的 AOF 多线程重写显著提升了性能,使混合模式成为生产环境的最佳选择。通过合理配置(如和),您可以平衡数据安全和性能。建议从基础配置开始,逐步根据监控数据调优。如果您有具体场景(如高并发应用),我可以提供更针对性的建议!

2025-08-06 08:30:37 813

原创 Redis 7的GEO 底层数据结构、核心原理、常用命令

Redis GEO 利用了 ZSET 的排序特性来管理地理位置的排序和查询。Geohash 编码具有相邻位置前缀相似的特性,因此 Redis 可以通过比较 Geohash 前缀快速判断位置的远近,从而实现高效的距离计算和范围查询。Redis的GEO模块为位置服务提供轻量级解决方案,结合其高性能特性,广泛用于移动应用和物联网。Redis GEO 的底层数据结构是有序集合(ZSET)。:获取成员的 Geohash 编码。:查询指定中心点附近的成员。:获取成员的经纬度坐标。:计算两个位置的距离。

2025-08-05 10:28:49 626

原创 Redis7基数统计(HyperLogLog)深度分析

Redis 7 的 HyperLogLog 提供了一种高效的基数统计解决方案,平衡了精度、内存和性能。其数学基础可靠,误差可控,适用于大数据实时分析。尽管存在小基数偏差和不可逆性限制,但在 UV 统计等场景中,HLL 是首选工具。开发者可通过PFADDPFCOUNT命令快速集成,建议结合 Redis 7 的持久化功能(如 RDB/AOF)确保数据安全。如需更高精度,可考虑多 HLL 结构平均或结合其他算法。

2025-08-04 22:34:49 539

原创 Redis7中的Bitmap原理、命令、使用场景

Bitmap 的工作原理Bitmap 在 Redis 中本质上是字符串,其中每个字节(8 位)表示一个位序列。例如,一个字符串 "abc" 的 ASCII 编码对应二进制,但 Bitmap 命令允许直接操作单个位。位偏移从 0 开始计算:如果设置偏移量 offset,Redis 会将字符串扩展到足够长度(未设置的位默认为 0)。位操作的时间复杂度通常为 O(1)(如 SETBIT、GETBIT)或 O(n)(如 BITCOUNT),其中 n 是涉及的字节数,这使其非常高效。

2025-08-04 14:53:27 786

原创 Redis 7 中的 Set 和 Zset 使用

在实际应用中,结合具体需求选择结构:如果只关心存在性,用 Set;测试命令时,建议使用 Redis CLI 或客户端库(如 Python 的 redis-py)。Zset 是一个有序的字符串集合,每个元素关联一个分数(score),用于排序。元素唯一,但分数可以重复。它适合需要排序的场景,如排行榜或优先级队列。Set 是一个无序的字符串集合,元素唯一(不允许重复)。它适合存储无需排序的唯一项,如标签、用户好友列表或去重数据。:Redis 7 对 Set 没有新增命令,但整体性能优化提升了命令执行速度(如。

2025-08-03 14:32:53 426

原创 Redis 7中的List类型指南

有序性:元素按插入顺序存储,索引从0开始(左边为头,右边为尾)。允许重复元素:同一个值可以多次出现。高效操作:支持时间复杂度的头尾插入/删除(如LPUSH、RPOP)。动态长度:列表长度可动态增长或缩减。内存优化:Redis 7对大型列表使用压缩列表(ziplist)优化内存,但当元素数或大小超过阈值时自动转为链表。

2025-08-03 10:24:37 892

原创 Redis 7 哈希(Hash)使用指南

【代码】Redis 7 哈希(Hash)使用指南。

2025-08-02 16:59:59 439

原创 Redis7 String类型数据

以下是一个使用 Python 的。

2025-08-02 15:01:24 361

原创 Redis 7中redis.conf配置文件详细说明

我将基于Redis官方文档和标准实践,以结构清晰的方式逐步解释文件的主要内容和关键配置项。Redis是一个高性能的键值存储系统,redis.conf是其核心配置文件,用于定制Redis服务器的行为。在Redis 7中,该文件包含了丰富的选项,覆盖了网络、持久化、安全、内存管理等方面。我会分节解释,确保内容真实可靠。

2025-08-02 09:29:54 838

原创 MyBatis Plus Wrapper 详细分析与原理

组装条件作用:用于构建 WHERE 子句中的查询条件,如等于、不等于、大于等。方法:常用方法包括eq()(等于)、ne()(不等于)、gt()(大于)、lt()(小于)、like()(模糊查询)等。这些方法支持链式调用。原理:Wrapper 内部维护一个条件列表(),每次调用条件方法时,添加对应的 SQL 片段。最终,MyBatis Plus 通过SqlHelper解析这些片段,生成完整的 SQL。示例代码。

2025-07-30 14:52:52 1020

原创 Unity的GameObject.Instantiate的使用

以下是一个简单的Unity脚本示例,演示如何在游戏中实例化一个预制体。假设你有一个名为 "EnemyPrefab" 的预制体,并且这个脚本附加到场景中的某个对象上(如玩家角色)。是一个静态方法,可以直接调用。通过以上步骤,你可以高效地使用。

2025-07-29 18:28:35 525

原创 Spring Boot 2整合MyBatis Plus详细指南

通过以上步骤,即可完成Spring Boot 2与MyBatis Plus的整合,快速实现高效数据操作。

2025-07-29 08:39:39 399

原创 Spring Boot 2整合Druid的两种方式

适用于需要完全手动控制配置的场景添加依赖(pom.xml)-- 使用最新版本 -->创建配置类@Bean// 配置监控服务器@Bean// 监控后台登录账号// 允许所有访问// 配置过滤器@Beanapplication.yml配置spring:# 连接池配置minIdle: 5。

2025-07-28 10:31:23 440

原创 Spring Boot2错误处理

/ 业务异常基类// 具体业务异常super("ORDER_404", "订单不存在: " + orderId);// 使用示例通过实现@Component@Order(Ordered.HIGHEST_PRECEDENCE) // 最高优先级@Override) {// 1. 识别异常类型// 2. 构建统一响应体// 3. 设置HTTP状态码// 4. 返回JSON响应try {// 返回空视图表示已处理// 继续其他解析器处理。

2025-07-27 15:41:35 322

原创 Spring Boot2 静态资源、Rest映射、请求映射源码分析

静态资源:通过自动配置,由处理文件请求。Rest映射驱动,注册端点。请求映射协调,处理路径匹配。常用参数实现动态解析。这些机制体现了Spring Boot 2的"约定优于配置"原则,源码位于包。要深入调试,建议下载Spring Boot源码(如GitHub仓库),结合IDE断点分析。

2025-07-25 18:58:28 951

原创 @SpringBootApplication底层原理

配置声明自动装配组件扫描其本质是 Spring 条件化配置的工程化实现,通过约定大于配置的原则,大幅减少样板代码。理解其底层原理有助于解决自动配置冲突和自定义扩展需求。

2025-07-25 11:04:52 532

原创 Spring 5 事务详解

Spring 5 事务管理通过抽象层屏蔽底层差异,结合声明式与编程式模式,提供灵活的事务控制能力,是构建企业级应用的核心基础设施。

2025-07-24 10:15:45 506

原创 Spring 5 AOP详解

AOP 的核心思想是通过“切面”(Aspect)来封装跨多个对象的通用功能。解耦横切关注点:例如,日志记录、性能监控、事务管理等功能,不需要侵入业务代码。增强对象行为:通过代理机制,在方法执行前后插入额外逻辑。支持声明式编程:开发者可以通过配置而非硬编码实现功能。基于代理:使用动态代理技术,不修改原始类。轻量级:与 Spring IoC 容器深度集成,易于配置。有限切入点:主要支持方法执行切入点(如方法调用),不支持构造器或字段级切入(AspectJ 支持更全面)。应用场景。

2025-07-24 09:44:39 648

原创 Spring5注解注入分析

依赖注入是一种设计模式,允许对象从外部源(如 Spring 容器)获取其依赖项,而不是自行创建。这减少了组件间的紧耦合。

2025-07-23 12:35:36 856

原创 Unity里的加力

在Unity中,"加力"通常指通过物理引擎给物体施加力(Force)或扭矩(Torque)的操作,核心是通过Rigidbody组件实现。

2025-07-22 16:35:04 395

原创 Spring5的IOC原理

在Spring 5中,IoC原理通过容器管理bean生命周期实现解耦,而依赖注入是核心实现技术。推荐优先使用构造函数注入以提升代码质量,setter注入适用于动态配置,字段注入应谨慎使用。Spring 5的优化(如响应式支持)不影响这些基础,但强化了DI在微服务和云原生应用中的效率。实际开发中,结合注解(如@Component@Autowired)和配置类,能高效构建可维护的应用。

2025-07-22 15:17:22 466

原创 组合设计模式

组合模式在Java中提供了一种优雅的方式来处理树形数据结构,通过统一接口简化代码。在实现时,确保Component定义清晰,Leaf和Composite职责分离。实际开发中,结合工厂模式或迭代器模式可以增强其灵活性。记住,避免在Composite中直接暴露内部结构(如子节点列表),以保持封装性。

2025-07-21 12:24:37 404

原创 外观设计模式

核心思想:外观模式充当子系统的“门面”,隐藏内部实现的细节。客户端只需与外观类交互,无需直接调用多个子系统类,这简化了操作并提高了代码的可读性。主要目的减少客户端对子系统的依赖。提供高层接口,简化复杂操作。提高系统的可扩展性和维护性。基本概念:该模式基于“最少知识原则”(Law of Demeter),即一个对象应当尽可能少地了解其他对象的结构。外观设计模式是Java中处理复杂系统的有效工具,它通过抽象层简化客户端交互,提升代码可维护性。

2025-07-19 22:35:06 745

原创 Unity物理响应函数与触发器

通过合理选择碰撞/触发器响应,可高效实现物理交互与游戏逻辑检测。双方 Collider 均。用于处理刚体间的物理碰撞,用于检测物体进入特定区域,后执行,与渲染帧无关。

2025-07-19 22:29:31 463

原创 Unity 3D碰撞器

Box Collider(盒状碰撞器):基于矩形盒子,适用于立方体或规则形状的物体,如箱子、墙壁等。性能高效。Sphere Collider(球状碰撞器):基于球体,适用于球状物体,如篮球、头部模型。计算简单,性能好。Capsule Collider(胶囊碰撞器):由圆柱体和两个半球组成,适用于角色或长条物体,如人物角色、棍棒等。常用于角色控制器。Mesh Collider(网格碰撞器):使用物体的网格模型定义碰撞形状,适用于复杂或不规则物体,如雕塑或自定义模型。但性能开销大,需谨慎使用。

2025-07-19 12:38:16 894

原创 原型设计模式

原型模式(Prototype Pattern)是一种创建型设计模式,通过复制现有对象(原型)来创建新对象,避免重复初始化过程。:当对象初始化成本高于复制成本时优先使用原型模式,结合工厂模式可构建更灵活的对象创建系统。

2025-07-19 09:34:49 355

原创 模板方法设计模式

抽象类(Abstract Class):定义算法的骨架,包含一个或多个模板方法(通常用final修饰,防止子类覆盖)。模板方法调用一系列抽象方法或钩子方法(hook methods)。具体子类(Concrete Class):继承抽象类,并实现抽象方法或覆盖钩子方法,以提供特定步骤的行为。关键特性模板方法控制算法流程。抽象方法强制子类实现必要步骤。钩子方法提供可选扩展点(默认实现可为空)。

2025-07-17 14:08:34 356

redis-64.3.0.503

redis-64.3.0.503资源

2019-02-01

空空如也

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

TA关注的人

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