图片加载失败 Redis分布式锁 多个服务如何避免同时做同一件事 在单机程序里,多个 goroutine 同时修改一份数据时,可以用 sync.Mutex 加锁。 var mu sync.Mutex func updateStock() { mu.Lock() defer mu.Unlock() // 修改库存 } 但如果 2025-10-12 2 0
图片加载失败 Mysql事务隔离级别 事务经常和 commit、rollback 一起出现。但真正让我觉得事务重要的,是开始理解“多个请求同时操作数据库”之后。 例如,一个订单系统里: 用户 A 正在修改订单; 用户 B 正在查看同一笔订单; 用户 C 又准备取消它。 如果没有合适的规则,不同请求可能会读到不一致的数据。MySQL 的事 2025-09-28 1 0
遇事不决,可问春风 go-zero学习 GoZero 是一个偏向微服务开发的 Go 框架。它不仅能写 HTTP 接口,还提供了 RPC、服务治理、代码生成、配置管理、链路追踪等能力。它最大的特点是:通过统一的目录结构和工具生成代码,让项目更容易保持规范。 GoZero 适合解决什么问题 假设要写一个用户接口: GET /api/users 2025-07-04 2 0
图片加载失败 内存泄漏 Go 和 Python 都有垃圾回收机制。通常情况下,我们创建对象后,等对象没有任何引用时,运行时会自动回收它们。 例如 Go: func createUser() { user := &User{Name: "Alice"} fmt.Println(user.Name) } createUse 2025-03-02 14 0
图片加载失败 GIN3 一、中间件使用 中间件是 Gin 中强大的功能,可用于日志记录、权限验证等场景。 1 定义中间件 func m01(c *gin.Context) { fmt.Println("m01...in") c.Next() fmt.Println("m01...out") } 2024-12-03 12 0
图片加载失败 GIN框架2 一、请求参数解析 1. 查询参数 fmt.Println(c.Query("user")) fmt.Println(c.GetQuery("user")) fmt.Println(c.QueryArray("user")) 通过Query、GetQuery 2024-12-03 6 0
图片加载失败 GIN框架学习 一、Gin框架简介与安装 Gin是一个用Go语言编写的Web框架,它以极高的性能和灵活的路由设计著称。安装Gin框架非常简单,只需在终端中运行以下命令: go get -u github.com/gin-gonic/gin 二、响应处理 1. 2024-11-18 10 0
图片加载失败 堆糖网 一、技术选型:Go 语言的优势与相关库的选择 Go 语言以其简洁的语法、强大的并发能力以及高效的性能在众多编程语言中脱颖而出。在网络爬虫开发领域,Go 语言可以快速发起大量请求,高效处理数据。 选择了以下关键库: goquery :类似于 jQuery 的库,方便地对 HTML 文档进行解析和操作, 2024-08-03 25 0
图片加载失败 微信小程序注册登录实现 微信小程序快捷登录实现原理与代码详解 在移动应用开发中,良好的登录体验对用户留存至关重要。微信小程序提供了快捷登录能力,让用户无需手动输入账号密码,一键完成登录。本文将详细介绍微信小程序登录注册的实现原理和完整代码。 1. 微信小程序登录原理 微信小程序的登录流程主要包括以下几个关键步骤: 前端调用 2024-07-04 19 0