自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go-MCP 从入门到实战:构建 AI 驱动的 MCP 服务与中间件开发

2024 年底,Anthropic 开源了MCP(Model Context Protocol,模型上下文协议),这标志着 AI 应用与外部系统交互走向标准化。在此之前,要让大语言模型调用外部工具,开发者必须为每款 AI 产品和每个数据源编写定制化的集成代码——这种 "N×M" 的集成困境严重制约了 AI 应用的落地效率。MCP 协议的出现,就像为 AI 世界引入了统一的 "USB-C 接口":只需按照同一套标准实现服务端和客户端,任何支持 MCP 的 AI 应用都能无缝调用任何 MCP 服务。而。

2026-09-05 14:54:48 217 1

原创 点赞与收藏功能的数据一致性设计:MySQL 与 Redis 的协同实践

第一次:成功第二次:500第三次:500第四次:500“这个请求是不是第一次执行?而是:“执行完成以后,最终状态是不是正确?这就是幂等设计。+1-1重复请求并发请求幂等事务计数器缓存数据一致性│↓数据库唯一索引│↓OnConflict│↓判断是否真正变更│↓MySQL 原子更新│↓事务提交│↓查询数据库真实值│↓Redis SET 真实值│↓Redis 负责读取第一,MySQL 是最终数据源,数据正确性不能依赖 Redis。

2026-08-14 15:51:40 209

原创 GORM 实体关联深度剖析:从自动编排到精细化操控的完整图谱

操作层级核心 API / 机制适用场景自动化持久层CreateSave+ 嵌套结构体全量提交聚合根及其子图,依赖拓扑排序和主键回填。投影控制层SelectOmit精细化控制持久化范围,隔离主表与关联表的变更。关联操控层构建器 (AppendReplaceDeleteClear对已持久化的主实体进行关联集合的独立变更,不涉及主表数据。级联删除层物理删除主记录及其关联子记录,适用于数据归档与清理。元数据配置层结构体标签(Tags)全局定义关联契约、外键映射、连接表名及约束策略。

2026-07-11 20:30:46 293

原创 GORM Session 最佳实践:灵活控制数据库会话的六种策略

配置项核心用途典型场景Context超时控制与链路追踪Web 请求、分布式追踪DryRun预览 SQL 不执行调试、单元测试SkipHooks跳过钩子提升批量性能数据迁移、批处理任务预编译语句缓存高并发服务NewDB清除链式查询条件复用配置但重置条件允许无条件更新/删除整表状态重置(需谨慎)Session机制为 GORM 提供了细粒度的配置隔离能力,使得开发者能够根据不同场景灵活调整行为,而无需重复创建多个 DB 实例。掌握上述 6 个核心选项,足以应对绝大多数日常开发需求。至于。

2026-07-04 21:23:18 399

原创 Transformer 缩放点积注意力完整解析:QKV、多头、Mask、交叉注意力

注意力机制解决静态词向量无法区分多义词的痛点,实现上下文动态语义建模;QKV 本质是向量版键值检索:Q 负责查询匹配,K 负责标识属性,V 负责输出语义;dk​​缩放因子平滑权重分布,避免训练梯度消失;Mask 掩码实现时序约束,阻止生成任务中模型偷看未来 Token;多头注意力通过多子空间并行,同时捕捉指代、语法、因果等复杂语言关系;自注意力适用于单序列建模(GPT),交叉注意力用于跨序列映射(机器翻译)。

2026-06-27 20:30:36 359

原创 Gin 框架会话控制完全指南:从 Cookie 到 Session 再到 JWT前言

Gin 框架通过中间件,为我们提供了灵活多样的会话控制方案。从最简单的 Cookie 存储,到生产级的 Redis 存储,再到无状态的 JWT,每种方案都有自己的优势和适用场景。当你需要容易撤销会话时(如登出、封禁用户),使用 Session;当你需要跨微服务的无状态身份验证时,使用 JWT。理解这几种方案的原理与差异,才能在不同的业务场景中做出最合适的技术选型。

2026-06-20 17:53:04 322

原创 深入解析 Redis 消息队列:三种实现方式的优劣与实践

若业务简单、仅需基础点对点异步通信,选 List;若需实时广播、允许消息丢失,选 PubSub;若追求消息可靠性、有序性、可回溯,或需要消费者负载均衡,优先选 Stream。Redis 消息队列虽不如专业 MQ 功能完善,但凭借其轻量级、高性能、易集成的特性,在中小规模分布式系统中极具优势。List 和 PubSub 适合轻量化场景,而 Stream 则补齐了可靠性、可扩展性的短板,成为 Redis 消息队列的首选方案。

2026-06-14 16:41:12 384

原创 Redis 缓存数据一致性:从旁路缓存到双删策略到主数据库

对比项先删缓存后写库先写库后删缓存不一致概率较高(常见并发场景可复现)极低(时间窗口极窄)解决方案需要延迟双删配合重试队列或 binlog 保证删除成功推荐程度不推荐(除非无法接受写库前读脏数据)强烈推荐生产环境建议默认采用先更新数据库,再删除缓存的策略。为删除缓存操作设置重试机制(消息队列或本地任务表)。如果一定要先删缓存,务必实现延迟双删,且延迟时间要大于一次读请求的耗时。对于允许最终一致性的业务,可以给缓存设置较短的过期时间(如 1~5 秒),作为兜底。

2026-06-07 16:39:23 397

原创 Go 项目部署至 Linux 环境的三种方案与实践

本文详细阐述了将 Go 项目部署至 Linux 环境的三种主流方案,提供了完整的命令示例及生产级进程管理方法。开发者可根据自身场景选择合适的方式:本地编译适合快速验证,交叉编译适合轻量部署,Docker 编排则作为生产环境的最佳实践。合理选择部署策略能显著提升服务的稳定性与运维效率。

2026-05-30 14:47:02 438 1

原创 Redis 常用命令深度解析

场景推荐数据类型核心命令缓存对象(用户、商品)String(JSON) 或 HashSETGET或HSETHGETALLStringINCRDECR分布式锁String排行榜ZsetZADDZREVRANGE消息队列(简单)ListLPUSHBRPOP去重/标签SetSADDSISMEMBER共同好友/交集SetSINTER验证码/限时TokenStringSETEX任务调度(延时队列)Zset(以时间戳为分数)ZADD最新N条评论ListLPUSHLTRIM。

2026-05-23 16:02:21 366

原创 MySQL 索引完全指南:从二叉树到 B+Tree

索引类型等值查询范围查询排序支持适用场景B+Tree✅ 不错✅ 优秀✅ 支持绝大多数业务场景(推荐)Hash✅ 极快❌ 不支持❌ 不支持仅等值匹配,如缓存层二叉树/红黑树✅ 但数据量大时性能差❌ 不支持❌ 不支持几乎不用核心结论MySQL InnoDB 默认使用B+Tree 索引,兼顾等值查询和范围查询,且能支持排序。理解索引结构有助于写出更优的 SQL 语句,比如避免让索引失效、合理设计联合索引等。

2026-05-03 20:03:06 372

原创 Go语言网络聊天室项目

这是一个基于Go语言开发的简易网络聊天室,采用TCP协议,支持多客户端同时在线、用户昵称注册、消息广播等功能。适合Go语言网络编程初学者学习net包、goroutine、channel以及并发控制等知识点。项目分为和两部分:服务端监听本地8080端口,管理在线用户,转发消息。客户端连接服务器,注册昵称,发送消息并接收广播。

2026-04-25 11:07:45 327

原创 用 Go 实现一个由中缀表达式转换成后缀表达式的计算器

本文实现了一个中缀表达式计算器,通过将中缀表达式转换为后缀表达式再进行求值。主要分为三个步骤:1)预处理去除空格并进行词法分析;2)使用调度场算法将中缀表达式转为后缀表达式,处理运算符优先级和括号;3)对后缀表达式进行求值运算。核心算法包括运算符优先级判断、括号匹配检查、一元负号处理等。代码实现了完整的表达式解析、转换和计算流程,并包含错误检测机制,确保输入表达式的合法性。该方案有效解决了计算机处理人类习惯的中缀表达式的问题。

2026-04-04 20:44:18 323

空空如也

空空如也

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

TA关注的人

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