go

go 中使用redis 中的 list 队列实现异步处理

reids的链表结构,可以轻松实现阻塞队列,可以使用左进右出的命令组成来完成队列的设计。比如:数据的生产者可以通过Lpush命令从左边插入数据,多个数据消费者,可以使用BRpop命令阻塞的“抢”列表尾部的数据。下面...

gin分片上传文件

为什么要使用分片上传 这个为什么已经是老篇常谈了,主要的原因无非就是文件比较大,一次性上传如果网络中断等情况客户端又得重新上传,而且没法补充上传。 切片上传流程 客户端: 有一个大文件,对这个文件进...

go 阿里云oss上传

func (e Aliyun)UploadFile2(c *gin.Context) (returnPdf ReturnPdf, err error) { /* 通过form-data上传文件,文件名:file */ file,err := c.FormFile("file") if err != nil { return re...

golang读取pdf

PDF简介 The Portable Document Format (PDF) is a file format used to present documents in a manner independent of application software, hardware, and operating systems.[3] Each PDF file encapsulate...

Go语言文件锁操作

我们使用Go语言开发一些程序的时候,往往出现多个进程同时操作同一份文件的情况,这很容易导致文件中的数据混乱。这时我们就需要采用一些手段来平衡这些冲突,文件锁(flock)应运而生,下面我们就来介绍一下。 ...