本文作者:anker[https://www.jianshu.com/u/a422e2b3e0bd] 源码 https://github.com/go-redis/redis...
本文作者:anker[https://www.jianshu.com/u/a422e2b3e0bd] 源码 https://github.com/go-redis/redis...
最开始接触定时任务的概念是在大二的一个计算机操作系统设计的实验课上,当时老师给了五个任务要求,自己任选三个小组完成。 依稀还记得当时有个作业的任务需要每隔一段时间就执行一次:...
mkdir docker,然后在该docker目录下创建php、nginx、mysql等目录 1.创建网络 创建网络用于nginx和php之间的通信,也可以用link的方式d...
现如今,应用执行时最普遍存在的瓶颈就是网络请求了。网络请求只要几毫秒,但是等到返回却要百倍的时间。所以,如果你执行多个网络请求,让他们都并行执行就是减少延迟最好的选择了。Fu...
传送门:https://github.com/swaggo/swag/blob/master/README_zh-CN.md[https://github.com/swagg...
近期在学习gin的时候发现对请求参数的校验很麻烦, 且重复代码很多, 进行一番思考和实践后发现了一种使用反射实现在 controller 函数上实现自动提取请求参数到指定的 ...
1.缓存空键,防止缓存被穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,比如发起id为“-1”或id超级大这些不存在的数据,这是时缓存没有命中,请求会全部打...
开启一定数量的协程,同时去执行同一个任务,只取最快执行完毕的那一个 适用于执行一些远程访问,并且远程服务不可控的任务
方式1 方式2 方式2将消费者和生产者都改为协程执行,然后通过一个开关来阻塞主程,当消费者执行完成后塞入一个空结构体,主程收到后结束阻塞 方式3 方式3将2的开关改写到消费者...
最基本模式:go+sync如下使用go+sync.WaitGroup并发执行让0-9每位数字加一 最基本模式:go+channelgo社区有句经典的话叫做“不要通过共享内存来...
假设有一个耗时业务如下,将其改造成超时关闭 改造方法如下
不限制的时候,有多少业务开多少协程 限制协程 或者 结果就变成分批打印了,达到限制的效果
reflect[https://studygolang.com/pkgdoc]:在运行时动态的获取一个变量的类型信息和值信息,就叫反射 Type 反射中将类型划分为两种: 类...
基本定义 属性处理 调用 优点是逼格高了,缺点是代码多了
下载protobuf go get github.com/golang/protobuf/protoc-gen-go go get github.com/golang/pro...
这里我们主要利用Redis的setnx的命令来处理高并发。 setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值...
程序员福利!!! 今天为大家带来一个专为程序员写程序设计的字体 —— Fira CodeFira 是 Mozilla 公司(火狐浏览器她爹)主推的字体系列。Fira Cod...
并发性Concurrency 1.1 什么是并发 Go是并发语言,而不是并行语言。在讨论如何在Go中进行并发处理之前,我们首先必须了解什么是并发,以及它与并行性有什么不同。(...