golang busybox
将16个uint64(128字节)组成一个位图,适合的场景类似于消息信箱的删除信息记录。
在传统的模式中,如果一个消息需要扩散到别的地方时,往往需要在别的地方同样记录下这样的拷贝,这种case被称为写放大。
这种模式好的地方是拷贝的数据独立,逻辑简单。不好的地方是会写入大量数据。如果所有的数据都共享,只有在发生变化时才做记录,
类似于Unix fork的写时复制,会节约很多写入操作。但消息信箱是一个比较特殊的场景,它对数据的更改只发生在删除的时候,如果
我们只记录删除数据,如何通过记录的删除数据来推导实际上应有的数据呢?用位图是一个不错的选择。
文档
go内置的bytes.Buffer功能很丰富,但它更多面向的是bytes这样的数据类型,bytex封装了bytes.Buffer,丰富了更多的基本类型操作。
文档
封装了Map与LRU 文档
滑块或图片验证码 文档
压缩相关的包 文档
加解密相关的包 文档
用于下载指定URL的包
数据结构相关的包 文档
生成id相关的包 文档
更快的json包 文档
通过给protobuf序列化头部打上标记的方式来标记protobuf消息类型 文档
封装随机数相关函数 文档
用于将健值分组的一个工具包 文档
封装TCP Server 文档
封装了一些数据中间件客户端代码 文档
封装了字符串的一些扩展工具函数 文档
封装了字符串校验工具函数 文档
与go routine互斥/同步控制相关的包 文档
扩展了一些基本类型 文档
时间相关的包 文档
封装了uber的一个日志库 文档
验证码缓存与验证的通用模块(手机验证码和邮件验证码) 文档