最近项目上线要将旧系统的数据导入新系统,旧系统的数据导出到excel文件,然后将文件整理后导入新系统。但是整理文件的时候总是会出现一些简单的错误,每次都有人工校对或者导入时提示太麻烦,于是写了一个小工具让整理数据的门店人员整理数据后自行检测一次。由于数据库使用的是sqlite,我本地的开发环境又是mac,这就导致golang交叉编译时要配置gcc,试了一下,感觉太麻烦了。也尝试过开个虚拟机进行编译,发现效果也不满意。后来发现github action可以在推送项目后自动构建项目,于是实现了项目推到github后,由Github自动编译并打包项目。

在学习golang切片时看到说golang的扩容机制是小于1024时进行double,超过1024后每次增加1/4,但是自己尝试后并非如此,于是扒了下golang的源码研究一番。

Redis是什么?

Redis是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的。

Redis是什么?

Redis是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的。

go select用处

select是一种go可以处理多个通道之间的机制,看起来和switch语句很相似,但是select其实和IO机制中的select一样,多路复用通道,随机选取一个进行执行,如果说通道(channel)实现了多个goroutine之前的同步或者通信,那么select则实现了多个通道(channel)的同步或者通信,并且select具有阻塞的特性。