此版本发布于 2024-01-18
- 调整代码
此版本发布于 2024-01-13
- 受小徒弟的灵感激发,进行 loader 代码的调整
- 把 cache 结构去掉,精简这部分设计
此版本发布于 2023-11-30
- 调整单元测试代码
- API 进入稳定观察期
此版本发布于 2023-06-12
- 给 Reporter 增加缓存 gc 运行间隔方法,主要用于监控不同缓存的 gc 运行间隔配置情况
此版本发布于 2023-05-10
- 给 CacheType 增加 String 方法
此版本发布于 2023-05-10
- 给 Reporter 增加缓存类型方法,主要用于监控不同类型缓存的使用情况
此版本发布于 2023-05-09
- 给 Reporter 增加缓存分片数量方法,主要用于监控缓存分片数量
此版本发布于 2023-03-13
- 增加缓存名字配置,主要用于区分每个监控数据的来源
此版本发布于 2023-03-08
- 默认开启 10 分钟的 GC(因为从线上使用情况来看开启的概率远远大于不开启)
- 默认限制最多缓存 10w 个键值对,如果需要不限制,可以使用 WithMaxEntries 指定为 0
- 完善文档和使用案例,特别是强调了 GC 和单飞的使用
- 祝我的妈妈,我的老婆女神节、妇女节都快乐!
此版本发布于 2023-03-01
- 全新设计版本
此版本发布于 2023-02-21
- 完善 report 机制
此版本发布于 2023-02-20
- 重新设计 report 机制
此版本发布于 2023-02-14
- 修改 option 部分限制
此版本发布于 2023-02-06
- 提取 now 和 hash 到缓存级别配置
- 提供定时缓存时间的机制,可选快速时钟
此版本发布于 2023-02-01
- 基本完成全部单元测试
此版本发布于 2023-02-01
- 设计 Cache 接口,Get 方法用 bool 判断,单个锁结构
- 提供 ShardingCache 实现,实现 Cache 接口,细化锁粒度
- 提供多种接口实现,包括 standard,lru,lfu 等
- 提供 load 方法,集成 singleflight 进行数据加载
- 操作提供 option 机制,ttl 使用 option 设置,默认值使用 option 设置,最大遍历次数使用 option 设置
- Delete 方法改 Remove 并返回被删除的 value
- DeleteAll 方法改 Reset
- GC 方法保留,去除 AutoGC 方法
- 检查 pkg 代码,完善单元测试,提高覆盖率
- 清理废话注释,完善 examples 和性能测试
- 增加 report 机制用于监控缓存的情况
此版本发布于 2022-10-04
- 提取 Index 函数,用户可以自定义哈希算法
- 大量优化代码风格
此版本发布于 2022-05-09
- 主机使用 manjaro 系统开发
- 加入不重载 onMissed 的选项,可以不缓存数据,只使用单飞
此版本发布于 2022-05-06
- 主机使用 deepin 系统开发
- 加入不重载 onMissed 的选项,可以不缓存数据,只使用单飞
此版本发布于 2022-03-13
- 去除 AutoSet 方法,使用 Task 机制代替
- 希望开源可以帮助更多软件国产化!!!
此版本发布于 2022-02-27
- 大量精简无用冗余设计代码
- 去除 AutoSet 方法,使用 Task 机制代替
- 去除文件头描述和修改协议描述
此版本发布于 2022-01-31
- 祝大家除夕夜快乐,新年行大运 :)
此版本发布于 2022-01-06
- 完善使用案例和文档
此版本发布于 2021-12-25
- 祝大家圣诞节快乐!!!
- 去除 GetWithTTL 方法
- 重新设计 AutoSet 方法,引入 option 机制
- 加入 singleflight 机制
- 优化 value 使用,复用内存、代码可读性
- Set 引入 option 机制
- Get 引入 option 机制
- 优化 Set 性能,实行 value 复用
此版本发布于 2021-10-10
- 修改 sync.Mutex 的使用方式
此版本发布于 2021-10-07
- 设置 segmentSize 的选项增加了参数检验,防止用户设置不合理导致 segment 分布不均匀
此版本发布于 2021-07-01
- 祝党成立一百周年快乐!
- 新增 AutoSet 方法定时加载数据到缓存,以实现超高热点数据不穿透到数据库的极速访问
- AutoGc 方法退出时会调用 Ticker.Stop 终止计时器,防止泄露
此版本发布于 2021-05-01
- 祝大家五一劳动节快乐!
- 新增 GetWithLoad 方便缓存失效自动加载
- AutoGc 返回参数修改为 chan<- struct{}
此版本发布于 2021-04-08
- 增加 debug 网络调试点,目前提供了多个调试点,开发时更方便缓存验证
此版本发布于 2021-04-05
- 加入 option function 创建模式,创建缓存实例的同时可以进行定制化的配置
性能优化 - 引入 value 实例池经过测试,这个实例池没有带来性能提升,反而影响了写入的性能,说明目前的性能瓶颈不在实例创建上,所以取消该特性- 增加 debug 网络调试点,目前暂时没有提供具体的调试点,将在后续版本中推出
此版本发布于 2021-03-14
- 优化 hash 算法,现在的算法使得数据分布更加均衡
此版本发布于 2021-03-12
- 更改 index 为位运算
此版本发布于 2020-11-07
- 更改 value 中的 alive 方法逻辑,适配低版本 SDK
此版本发布于 2020-09-13
- 简化设计,现在的我偏向于反设计
- 加入分段锁,使用更细粒度的锁机制保证更高的缓存性能
- 初步完善哨兵清理机制,配合分段锁,优化数据清理效率
此版本发布于 2020-03-17
- 简单实现一个并发访问安全、支持自动清理过期数据的缓存器
- 支持懒清理机制,每一次访问的时候判断是否过期
- 支持哨兵清理机制,每隔一定的时间间隔进行清理过期数据
- 基础特性和高级特性分离设计模式,减少新用户学习上手难度
- 链式编程友好的 API 设计,在一定程度上提供了很高的代码可读性