Skip to content

Latest commit

 

History

History
253 lines (148 loc) · 6.18 KB

HISTORY.md

File metadata and controls

253 lines (148 loc) · 6.18 KB

✒ 历史版本的特性介绍 (Features in old versions)

v0.6.1

此版本发布于 2024-01-18

  • 调整代码

v0.6.0-alpha

此版本发布于 2024-01-13

  • 受小徒弟的灵感激发,进行 loader 代码的调整
  • 把 cache 结构去掉,精简这部分设计

v0.5.0

此版本发布于 2023-11-30

  • 调整单元测试代码
  • API 进入稳定观察期

v0.4.12

此版本发布于 2023-06-12

  • 给 Reporter 增加缓存 gc 运行间隔方法,主要用于监控不同缓存的 gc 运行间隔配置情况

v0.4.11

此版本发布于 2023-05-10

  • 给 CacheType 增加 String 方法

v0.4.10

此版本发布于 2023-05-10

  • 给 Reporter 增加缓存类型方法,主要用于监控不同类型缓存的使用情况

v0.4.9

此版本发布于 2023-05-09

  • 给 Reporter 增加缓存分片数量方法,主要用于监控缓存分片数量

v0.4.8

此版本发布于 2023-03-13

  • 增加缓存名字配置,主要用于区分每个监控数据的来源

v0.4.7

此版本发布于 2023-03-08

  • 默认开启 10 分钟的 GC(因为从线上使用情况来看开启的概率远远大于不开启)
  • 默认限制最多缓存 10w 个键值对,如果需要不限制,可以使用 WithMaxEntries 指定为 0
  • 完善文档和使用案例,特别是强调了 GC 和单飞的使用
  • 祝我的妈妈,我的老婆女神节、妇女节都快乐!

v0.4.6

此版本发布于 2023-03-01

  • 全新设计版本

v0.4.5-alpha

此版本发布于 2023-02-21

  • 完善 report 机制

v0.4.4-alpha

此版本发布于 2023-02-20

  • 重新设计 report 机制

v0.4.3-alpha

此版本发布于 2023-02-14

  • 修改 option 部分限制

v0.4.2-alpha

此版本发布于 2023-02-06

  • 提取 now 和 hash 到缓存级别配置
  • 提供定时缓存时间的机制,可选快速时钟

v0.4.1-alpha

此版本发布于 2023-02-01

  • 基本完成全部单元测试

v0.4.0-alpha

此版本发布于 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 机制用于监控缓存的情况

v0.3.7

此版本发布于 2022-10-04

  • 提取 Index 函数,用户可以自定义哈希算法
  • 大量优化代码风格

v0.3.6

此版本发布于 2022-05-09

  • 主机使用 manjaro 系统开发
  • 加入不重载 onMissed 的选项,可以不缓存数据,只使用单飞

v0.3.5-alpha

此版本发布于 2022-05-06

  • 主机使用 deepin 系统开发
  • 加入不重载 onMissed 的选项,可以不缓存数据,只使用单飞

v0.3.4

此版本发布于 2022-03-13

  • 去除 AutoSet 方法,使用 Task 机制代替
  • 希望开源可以帮助更多软件国产化!!!

v0.3.3-alpha

此版本发布于 2022-02-27

  • 大量精简无用冗余设计代码
  • 去除 AutoSet 方法,使用 Task 机制代替
  • 去除文件头描述和修改协议描述

v0.3.2

此版本发布于 2022-01-31

  • 祝大家除夕夜快乐,新年行大运 :)

v0.3.1-alpha

此版本发布于 2022-01-06

  • 完善使用案例和文档

v0.3.0-alpha

此版本发布于 2021-12-25

  • 祝大家圣诞节快乐!!!
  • 去除 GetWithTTL 方法
  • 重新设计 AutoSet 方法,引入 option 机制
  • 加入 singleflight 机制
  • 优化 value 使用,复用内存、代码可读性
  • Set 引入 option 机制
  • Get 引入 option 机制
  • 优化 Set 性能,实行 value 复用

v0.2.5

此版本发布于 2021-10-10

  • 修改 sync.Mutex 的使用方式

v0.2.4

此版本发布于 2021-10-07

  • 设置 segmentSize 的选项增加了参数检验,防止用户设置不合理导致 segment 分布不均匀

v0.2.3-alpha

此版本发布于 2021-07-01

  • 祝党成立一百周年快乐!
  • 新增 AutoSet 方法定时加载数据到缓存,以实现超高热点数据不穿透到数据库的极速访问
  • AutoGc 方法退出时会调用 Ticker.Stop 终止计时器,防止泄露

v0.2.2

此版本发布于 2021-05-01

  • 祝大家五一劳动节快乐!
  • 新增 GetWithLoad 方便缓存失效自动加载
  • AutoGc 返回参数修改为 chan<- struct{}

v0.2.1

此版本发布于 2021-04-08

  • 增加 debug 网络调试点,目前提供了多个调试点,开发时更方便缓存验证

v0.2.0-alpha

此版本发布于 2021-04-05

  • 加入 option function 创建模式,创建缓存实例的同时可以进行定制化的配置
  • 性能优化 - 引入 value 实例池 经过测试,这个实例池没有带来性能提升,反而影响了写入的性能,说明目前的性能瓶颈不在实例创建上,所以取消该特性
  • 增加 debug 网络调试点,目前暂时没有提供具体的调试点,将在后续版本中推出

v0.1.3

此版本发布于 2021-03-14

  • 优化 hash 算法,现在的算法使得数据分布更加均衡

v0.1.2

此版本发布于 2021-03-12

  • 更改 index 为位运算

v0.1.1

此版本发布于 2020-11-07

  • 更改 value 中的 alive 方法逻辑,适配低版本 SDK

v0.1.0

此版本发布于 2020-09-13

  • 简化设计,现在的我偏向于反设计
  • 加入分段锁,使用更细粒度的锁机制保证更高的缓存性能
  • 初步完善哨兵清理机制,配合分段锁,优化数据清理效率

v0.0.1

此版本发布于 2020-03-17

  • 简单实现一个并发访问安全、支持自动清理过期数据的缓存器
  • 支持懒清理机制,每一次访问的时候判断是否过期
  • 支持哨兵清理机制,每隔一定的时间间隔进行清理过期数据
  • 基础特性和高级特性分离设计模式,减少新用户学习上手难度
  • 链式编程友好的 API 设计,在一定程度上提供了很高的代码可读性