Skip to content

OneCastle5280/multi-level-cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multi-level-cache

multi-level-cache 是一个用 go 实现的多级缓存组件;

模块功能划分

1. 缓存初始化模块

  • ✅ 自定义本地缓存大小
  • ✅ 自定义本地缓存、redis 缓存超时时间
  • ✅ 自定义缓存模式「本地缓存」、「Redis 缓存」、「多级缓存」
  • ✅ 自定义预热脚本
  • ✅ 线程安全初始化缓存实例
  • ✅ 自动检测缓存实例唯一

2. 缓存访问模块

image

  • ✅ 优先读取本地缓存模块、然后读取 redis 缓存,最终才回源数据库
  • ✅ 支持单个、批量缓存key
  • ✅ 访问出现异常时,支持自动降级到下一级,保证数据正常返回
  • ✅ 缓存过期之后,下一次访问将自动加载数据到缓存

3. 缓存失效模块

image

  • ✅ 支持单个、批量失效缓存
  • ✅ 只有 redis 清理成功之后,才会通知清理本地缓存
  • ✅ 失效 redis 缓存之后,如果出现了异常,会进行重试,重试的次数可自定义

4. 缓存防穿透模块

  • ✅ 自动识别击穿key,将key加入到缓存中
  • ✅ 支持自定义缓存空节点

5. 缓存命中率统计模块

  • ✅ 支持自定义命中率统计方式

6. 缓存序列化模块

  • ✅ 支持自定义序列化/反序列化方式

7. 缓存日志打印模块

  • ✅ 支持自定义日志打印方式

About

multi-leve-cache 是用 go 实现的一套多级缓存

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published