shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数841
阅读:3664回复:2

Gin实战开发技巧篇(4):手撸限流、带过期机制的缓存

楼主#
更多 发布于:2021-02-19 00:29
Gin实战技巧篇打算永远更新下去。 每个课程都是独立的,之前更新过
   1、Gin开发实战技巧篇(新手进阶):主做代码逼格提升
   2、Gin开发实战技巧篇2:事件总线
    3、Gin实战开发技巧篇(3):redis锁篇

    本篇的主题是以令牌桶算法为例在gin的背景下手撸一个限流功能,同时为了扩展令牌桶我们还需要手撸一个带过期机制的缓存(12课时左右),分3次更新完结。
第1讲:开张课、最简单的令牌桶代码 免费试听,无需登录
老套弄的开张课,直接出代码

第2讲:编写gin限流装饰器
上节课无脑实现了一个简单的限流,今天先讲如何整合到gin中

第3讲:处理令牌速率--协程的方式
先使用比较常规的方法来处理令牌放入速率--协程的方式

第4讲:处理令牌速率(2):更方便的方法
承接上节课,本课时的方法更加推荐使用。减少了资源消耗

第5讲:扩展案例:支持简单参数限流
今天先做个扩展。后面实现带过期时间的缓存后,做进一步扩展

第6讲:基于IP限流(无脑版)
为了引出后面的课时,今天先做个无脑IP限流。大家可以思考下问题在哪

第7讲:LRU算法、go自带双向链表免费试听,无需登录
为了实现IP限流,我们首先要写一个简单缓存出来,今天先讲LRU算法

第8讲:定义我们的缓存结构、基本存取
今天我们结合上节课讲的LRU算法来定义基本结构

第9讲:LRU(3):封装缓存对象、末位淘汰
今天我们把上节课代码做基本封装,并进行末位缓存淘汰代码编写

第10讲:LRU(4):限制缓存最大数量
今天我们来实现缓存的最大数量限制。下节课我们实现缓存的过期

第11讲:LRU缓存:实现缓存的过期(上)
今天我们来实现缓存的过期机制。先从简单的开始

第12讲:LRU缓存:实现缓存的过期(下)
完成过期,定时淘汰过期的缓存。实现的方式比较简单,供大家参考

第13讲:基于LRU缓存再看实现IP限流 免费观看,无需登录
完结课,我们基于手撸的LRU缓存扩展出IP令牌桶限流
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数841
沙发#
发布于:2021-03-05 02:38
本课程已经完结。 新课程即将发布
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数841
板凳#
发布于:2021-02-27 15:49
2.27 更新至第10讲
会讲故事的程序员
游客

返回顶部