内存优化: 1.小对象合并成结构体一次分配,减少内存分配次数 2. 缓存区内容一次分配足够大小空间,并适当复用 3.slice和map采make创建时,预估大小指定容量 4.长调用栈避免申请较多的临时对象 5.避免频繁创…
标签:golang
谈谈一些关于mgo的用法
前言 最近在项目中使用mongodb进行简单的数据分析,在使用mongodb驱动mgo时遇到一些问题,比如在mongodb中执行命令成功,到了mgo中就执行失败。在这里谈一谈实践过程中遇到的问题,基础的用法不再说明了,可…
tidb高并发查询与修改造成锁冲突
一、背景 1、现有的业务使用的是mongo,数据量达到将近2亿条数据,高并发查询与修改达到三分之一,一主两从的mongo架构,读写分离 2、现有二、问题在业务高峰期内mongo已经撑不住了,经常造成查询与修改达到几百ms…
如何用Go访问深层嵌套的JSON数据?
原文来自https://hashnode.com/post/how… 大多数情况下,开发人员需要使用来自其他服务的JSON数据并对其进行查询。查询JSON文档非常耗时。在过去的几天里,我正在为Golang编写…
Go Redigo 源码分析(三) 执行命令
简单使用 简单使用Do函数获取单条和使用童丹请求多条获取多条数据。 func main() { // 1. 创建连接池 // 2. 简单设置连接池的最大链接数等参数 // 3. 注入拨号函数 // 4. 调用pool.G…
Lite语言——从入门到放弃(一)
Lite 是我设计开发的一门编程语言,主要关注如何设计更简洁的语法,经过两年改进,现在只需要很少的代码量就可以表达现代编程语言的大部分逻辑,去掉了关键字设计。 目前仍在持续改进中,欢迎到 Github 提意见,走过路过别…
剥开比原看代码03:比原是如何监听p2p端口的
比原是如何监听p2p端口的 我们知道,在使用bytomd init --chain_id mainnet/testnet/solonet初始化比原的时候,它会根据给定的chain_id的不同,使用不同的端口(参看conf…
go json数据转发
案例 例如,有个 GET 接口,可以批量获取用户信息👇 > curl 'http://localhost:8080/user/1,2' [ { "user_id":1, "other_suff":.…
IM 开发 构想
很早就像做一个 IM, 现在闲下来了,让我来把他实现以下。 基础设施 服务器语言: golang 客户端支持:flutter(android + ios), web, desktop 内容支持:单聊、群聊、语音、视频、+…
实现golang将mysql结果集转换成json的通用方法的正确姿势
写在开头 最近在做elasticsearch相关的开发,有这么一个需求,需要将mysql指定表的数据导入到elasticsearch的索引中,这个需求似乎比较容易,大致思路就是从遍历表中的每一行数据,转换成json,然后…
Go基础学习记录 - 编写Web应用程 - 完善Blog Model
完善Blog Model 前面的章节 我们分别介绍了MySQL、SQLite、PostgreSQL等数据库的使用本节简单介绍并完善下我们自己的小博客的Model部分,这部分暂时先分享下Blog Model部分这部分的完善…
【Redis源码研究】Redis的RESP协议
作者:张仕华 resp协议 redis客户端和服务端交互使用的是redis作者制定的一个协议,叫resp(REdis Serialization Protocol)。 具体分如下几个层次 基于tcp 请求响应模式,但在两…