golang
已收录文章:14425篇
-
写项目时,有时我们需要缓存, 缓存就会需要唯一的key. 常规是对字符串求md5指纹. 在golang里我们也可以使用, 目前可以计算一个字符串的crc32, md5, sha1的指纹. md5 : 一种被广泛使用的密码散列函数,187 收藏
-
1. 什么是数据流 grpc中的stream,srteam顾名思义就是一种流,可以源源不断的推送数据,很适合传输一些大数据,或者服务端和客户端长时间数据交互,比如客户端可以向服务端订阅一个数据,服187 收藏
-
禁用默认事务 为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升。 // 全局禁用 db, err :=187 收藏
-
Go语言通过ParseMultipartForm和MaxBytesReader限制文件上传大小,防止内存耗尽。ParseMultipartForm设置请求总大小上限并缓存内存,超限部分存临时文件;结合handler.Size校验单个文件大小,中间件统一限制更高效。186 收藏
-
Golang中函数可通过指针修改外部变量,需在参数声明时使用定义指针类型,函数内通过解引用修改值,调用时用&传变量地址。例如modifyValue(&myVariable)可将myVariable的值改为100。此方式可直接修改调用者状态,避免频繁返回值赋值,提升大型数据处理性能。还可用于结构体字段修改与错误处理,如updatePersonAge(&person,31)成功更新年龄,而设为负数时返回错误。使用指针需防范空指针、野指针风险,应检查指针有效性并合理管理内存。186 收藏
-
答案:Go应用集成Prometheus需引入client_golang库,定义Counter、Gauge等指标类型,通过中间件收集HTTP请求数据,暴露/metrics端点供Prometheus抓取,并在prometheus.yml中配置目标,实现监控与可视化。186 收藏