业务功能实现
文章平均质量分 55
小僵尸打字员
以解决问题为驱动力
展开
-
手摸手教你写任务中心-积分冻结&解冻&消耗
继上一篇积分领取&消耗&回收 之后, 基本上就能满足大部分公司的业务需求了;但是, 还有有部分公司业务可能会涉及到冻结&解冻(比如金融交易公司), 再配合上回收可以说处理复杂度又上了一层;至此应该就是整体的任务中心积分逻辑了, 暂时想不到更复杂的场景了, 大家有什么更复杂的需求可以提出来一块讨论一下, 或者有什么性能更优的处理方案欢迎分享;原创 2023-06-14 09:43:14 · 592 阅读 · 0 评论 -
手摸手教你写任务中心-积分领取&消耗&回收
继上一篇签到任务之后呢, 就有朋友让我写一下任务积分的领取和使用, 以及回收;其实前面两种都不难, 就只是积分的加减而已, 真正麻烦的是回收, 有回收的话你就需要考虑到每笔积分存在多种状态的可能了;积分功能应该是很多APP都会做的一个功能了, 领取消耗很简单, 但是再加上回收的话就比较复杂了, 何况在不能后置使用的情况下还要保证性能, 这个就值得我们思考如何更有效的实现功能, 那么, 如果在此基础上再加上冻结, 解冻及消耗呢?原创 2023-06-13 09:44:17 · 530 阅读 · 0 评论 -
手摸手教你写任务中心-签到任务
不会吧不会吧, 都2202年了还有人不会写签到?redis位图实现签到功能简单方便, 走过路过可不要错过呦!原创 2023-06-13 09:42:37 · 657 阅读 · 0 评论 -
go 数据导出Excel&前台接收后端返回文件流并在浏览器提供下载
实现package mainimport ( "testing")import ( "github.com/tealeg/xlsx")func TestCreateExcel(t *testing.T) { var user = struct { Name string Age int }{} user.Name, user.Age = "飞起来", 11 // 生成一个新的文件 file := xlsx.NewFile() // 添加sheet页 sheet,原创 2020-05-19 09:17:33 · 7549 阅读 · 4 评论 -
限流功能的实现
最常见的限流方式 固定窗口, 滑动窗口, 漏桶算法和令牌桶假设限制10s最多请求二十次, redis_key为user_id:api固定窗口:即固定死10s时间段, 在这期间只接受二十次请求, 请求打满了就只能登下一段10s, 可以用incr实现接受请求调用incr key, 如果value=1, 则证明为第一次请求, 使用exipre加上10s过期时间,如果大于21, 则拒绝或等待该请求...原创 2020-04-21 20:52:45 · 548 阅读 · 5 评论