- 博客(339)
- 资源 (4)
- 收藏
- 关注
原创 全网最简 Gorm 教程 | Gorm 模型定义
本文介绍了GORM框架中模型定义的基础知识,主要包括: 模型与数据表映射规则,默认采用Snake Case命名风格转换字段名 常用模型标签如column、primaryKey等的使用 表名映射的多种方式:复数形式、Tabler接口、动态表名和临时表名 内嵌gorm.Model结构体实现通用字段复用 数据库连接配置DSN的格式说明及参数含义 模型定义示例展示如何将SQL表结构映射为Go结构体 文中通过商品表例子详细说明了模型定义方法,并介绍了GORM约定俗成的字段命名规则(如CreatedAt、Updated
2026-07-02 23:45:48
267
原创 全网最简 Gorm 教程 | Gorm 入门
本文介绍了如何使用GORM库进行MySQL数据库操作。主要内容包括:安装GORM和MySQL驱动、定义User模型与表结构映射、初始化数据库连接,以及实现CRUD操作(创建、查询、更新、删除数据)。通过Gin框架提供RESTful API接口,展示了完整的数据库操作流程。文章提供了具体代码示例,帮助开发者快速上手GORM这个流行的Go语言ORM库。
2026-07-02 23:44:21
173
原创 全网最强 Gin 教程 | 中间件
摘要 Gin框架中的中间件是拦截HTTP请求-响应生命周期的特殊函数,支持多个中间件链式执行,常用于限速、签名验证、权限校验等场景。中间件可全局设置或针对路由分组生效。示例展示了内置日志和错误恢复中间件的使用,以及如何自定义中间件:通过Use()注册,在Next()前后分别处理请求和响应逻辑,并利用上下文传递数据。自定义中间件演示了记录请求耗时和状态码的实现方式。
2026-06-28 11:11:08
210
原创 全网最强 Gin 教程 | 会话
本文介绍了Gin框架中Cookie和Session的使用方法。Cookie用于解决HTTP协议无状态问题,可通过SetCookie()设置、读取和删除。Session则需要借助中间件,支持基于Cookie和Redis的存储引擎,可处理单Session和多Session场景。通过示例代码展示了如何设置、读取和存储Session数据,其中Redis存储适合分布式系统。两种机制都能实现会话状态管理,开发者可根据需求选择适合的方案。
2026-06-28 11:09:38
237
原创 全网最强 Gin 教程 | 模板响应
本文介绍了Golang中Gin框架的模板渲染功能,主要包括四个部分:1)基本使用方法,包括模板定义和渲染;2)多模板文件的批量渲染方式;3)自定义模板函数的实现,如安全输出HTML内容;4)静态文件处理,包括CSS文件的引入和配置。通过示例代码展示了如何加载模板、渲染数据、注册自定义函数以及设置静态文件目录,帮助开发者快速掌握Gin框架的模板功能。全文以实践为导向,提供完整的代码片段和文件结构参考。
2026-06-28 11:08:33
47
原创 全网最强 Gin 教程 | Gin 请求响应
本文介绍了Gin框架中7种常见的HTTP响应方式:1)字符串格式响应;2)JSON格式响应;3)XML格式响应(需定义结构体);4)文件响应(支持直接返回或带附件名返回);5)设置HTTP响应头;6)实现请求重定向;7)YAML格式响应。每种方式通过示例代码展示了具体用法,涵盖了字符串、结构化数据、文件传输等常见响应需求,适用于开发RESTful API等场景。
2026-06-27 21:27:51
169
原创 全网最强 Gin 教程 | Gin 请求参数
本文详细介绍了Gin框架中各类HTTP请求参数的获取方法:1) Get请求参数通过Query、DefaultQuery等方法获取,支持基本类型、数组和map参数;2) Post请求支持表单和JSON参数,使用PostForm、ShouldBindJSON等方法处理;3) 路径参数通过Param获取;4) 文件上传使用MultipartForm处理。文章还对比了BindQuery和ShouldBindQuery的区别,建议优先使用Should前缀的方法进行参数绑定。
2026-06-27 21:26:26
239
原创 全网最强 Gin 教程 | Gin 路由
这篇文章介绍了Gin框架中的路由机制,涵盖URI结构、RESTful API规范、请求方法、路由参数及分组路由的使用方法。
2026-06-26 18:33:27
227
原创 全网最强 Gin 教程 | 认识 Gin 框架
Gin 是一个用 Go 语言编写的高性能 Web 框架,以简洁、稳定、扩展性强著称,目前是 Go 官方推荐的 Web 框架。
2026-06-26 18:30:09
1444
原创 第4章唯一ID生成器——4.5 美团点评开源方案Leaf
Leaf是美团点评公司基础研发平台推出的一个唯一ID生成器服务,其具备高可靠性、低延迟、全局唯一等特点,目前已经被广泛应用于美团金融、美团外卖、美团酒旅等多个部门。Leaf根据不同业务的需求分别实现了Leaf-segment和Leaf-snowflake两种方案,前者基于数据库的自增主键,后者基于Snowflake算法。接下来介绍这两种方案的技术原理。 需要注意的是,Leaf和前几节介绍的几种技术方案非常相似,只是多了一些思考和优化,这也是我们在本节中重点着墨的部分。
2025-07-29 20:50:23
1362
原创 第4章唯一ID生成器——4.4 基于数据库的自增主键的趋势递增的唯一ID
基于数据库的自增主键也可以生成趋势递增的唯一 ID,且由于唯一ID不与时间戳关联,所以不会受到时钟回拨问题的影响。
2025-07-29 20:48:58
596
原创 第4章唯一ID生成器——4.3 基于时间戳的趋势递增的唯一ID
时间戳是指计算机维护的从1970年1月1日开始到当前时间经过的秒数,并且随着时间的流逝而逐步递增。几乎所有的编程语言都仅需要一行代码,就可以轻而易举地得到当前时间戳,并支持毫秒精度,甚至是纳秒精度。时间戳自增的属性非常适合生成趋势递增的唯一ID。
2025-07-28 21:03:25
911
原创 第4章唯一ID生成器——4.2 单调递增的唯一ID
唯一ID生成器本身也是一个服务,为了生成单调递增的唯一ID,这个服务需要使用某种存储系统记录可分配的唯一ID。Redis和其他数据库都可以达到这个目的。
2025-07-28 21:02:12
926
原创 第3章通用的服务可用性治理手段——3.2 重试
对于服务间RPC请求遇到网络抖动的情况,最简单的解决办法就是重试。重试可以提高RPC请求的最终成功率,增强服务应对网络抖动情况时的可用性。
2025-07-22 13:42:51
993
原创 第2章通用的高并发架构设计——2.7 高并发写场景方案2:异步写与写聚合
数据分片本质上是通过提高系统的可扩展性来支撑高并发写请求的,每当写请求量达到一个新高度时,系统就需要数据分片扩容。从产品发展的角度来讲,这本无可厚非,但是扩容就意味着需要更多昂贵的服务器资源,经济成本较高;况且扩容不是一个实时操作,对临时的突增流量很难及时应对。实际上,我们还可以从业务的角度和数据特点的角度来思考高并发写场景的应对之道,本节就来介绍两种常见的方案
2025-07-21 12:28:58
1257
原创 第2章通用的高并发架构设计——2.4 高并发读场景方案3:分布式缓存
由于本地缓存把数据缓存在服务进程的内存中,不需要网络开销,故而性能非常高。但是把数据缓存到内存中也有较多限制,举例如下。1. **无法共享**:多个服务进程之间无法共享本地缓存。2. **编程语言限制**:本地缓存与程序绑定,用Golang语言开发的本地缓存组件不可以直接为用Java语言开发的服务器所使用。3. **可扩展性差**:由于服务进程携带了数据,因此服务是有状态的。有状态的服务不具备较好的可扩展性。4. **内存易失性**:服务进程重启,缓存数据全部丢失。我们需要一种支持多进程共享、
2025-07-16 20:39:44
944
原创 第2章通用的高并发架构设计——2.3 高并发读场景方案2:本地缓存
在计算机世界中,缓存(Cache)无处不在,如CPU缓存、DNS缓存、浏览器缓存等。值得一提的是,Cache在我国台湾地区被译为“快取”,更直接地体现了它的用途:快速读取。缓存的本质是通过空间换时间的思路来保证数据的快速读取。
2025-07-16 20:38:08
1015
原创 第2章通用的高并发架构设计——2.2 高并发读场景方案1:数据库读/写分离
大部分互联网应用都是读多写少的,比如刷帖的请求永远比发帖的请求多,浏览商品的请求永远比下单购买商品的请求多。数据库承受的高并发请求压力,主要来自读请求。
2025-07-15 12:49:25
481
原创 第2章通用的高并发架构设计——2.1 高并发架构设计的要点
高并发意味着系统要应对海量请求。从笔者多年的面试经验来看,很多面试者在面对“什么是高并发架构”的问题时,往往会粗略地认为一个系统的设计是否满足高并发架构,就是看这个系统是否可以应对海量请求。再细问具体的细节时,回答往往显得模棱两可,比如每秒多少个请求才是高并发请求、系统的性能表现如何、系统的可用性表现如何,等等。
2025-07-15 12:47:36
1393
原创 第1章大型互联网公司的基础架构——1.11 消息中间件技术
通篇图文并茂,全网最全面详细地阐述了消息队列。消息队列(Message Queue)是分布式系统中最重要的中间件之一,在服务架构设计中被广泛使用。
2025-02-20 21:01:42
1399
原创 第1章大型互联网公司的基础架构——1.9 LSM Tree
全网最强LSM Tree教程,通篇图文并茂,全面深入地讲述LSM Tree的底层原理。LSM Tree(Log-Structured Merge Tree)是一种对高并发写数据非常友好的键值存储模型,同时兼顾了查询效率。
2025-02-19 09:59:01
643
原创 第1章大型互联网公司的基础架构——1.8 Redis
全网最强Redis教程,通篇图文并茂,深入剖析Redis的原理。Redis是现在最受欢迎的NoSQL数据库之一,是一个包含多种数据结构、支持网络访问、基于内存型存储、可选持久性的开源键值存储数据库。
2025-02-19 09:57:22
957
原创 第1章大型互联网公司的基础架构——1.7 MySQL
本篇文章图文并茂,全面描述了MySQL的作用、底层原理、高可用架构,介绍了互联网大厂中的基础架构。
2025-02-18 09:08:40
1238
原创 第1章大型互联网公司的基础架构——1.3 HTTP-DNS
本篇文章图文并茂,全面详细地阐述了HTTP-DNS技术,深入剖析互联网大厂的基础架构。
2025-02-17 10:08:34
1034
23考研武忠祥严选题高数做题本(数二)
2022-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
4