摘要: 前面我们使用list实现过队列 , 现在就来看一下list的底层结构 list有两种实现方式: 1. 压缩链表 压缩列表(ziplist)是Redis为了节省内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构,一个压缩列表可以包含任意多个节点(entry),每个节点可以保存一个字节数组 阅读全文
posted @ 2020-12-14 19:04 唯一客服系统开发笔记 阅读(1057) 评论(0) 推荐(0) 编辑
摘要: 上一篇是单机当前进程的滑动窗口限流 , 这一个是使用go redis list结构实现的滑动窗口限流 , 原理都一样 , 但是支持分布式 原理可以参考上一篇介绍 func LimitFreqs(queueName string, count uint, timeWindow int64) bool 阅读全文
posted @ 2020-12-14 18:42 唯一客服系统开发笔记 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 本代码基于原博客java版本的GO实现 , 原文解释也比较详细 , 这里也放上原文链接:https://www.cnblogs.com/dijia478/p/13807826.html 具体解释如下 , 代码在最下面 1.10秒内通过5次 , 这条线就是队列list,当第一个事件进来,队列大小是0, 阅读全文
posted @ 2020-12-14 14:06 唯一客服系统开发笔记 阅读(1694) 评论(0) 推荐(1) 编辑
摘要: 部门中有个字段存储的是十进制数字 , 但是表示的意思是转成二进制后 ,每一个位代表不同功能的开关状态 当超过32个功能开关的时候 , 就需要将int类型转换成bigint类型 , 原因就是int只能存储4个字节也就是2的32次方的整型值 , 装不下了, 下面就是具体的存的范围 bigint从 -2^ 阅读全文
posted @ 2020-12-14 11:48 唯一客服系统开发笔记 阅读(2164) 评论(0) 推荐(0) 编辑