源码地址:go-zero/cache.go at master · tal-tech/go-zero · GitHub
学习总结
- 这块代码只有300行,基本实现了一下四个功能:
- 缓存增删改,自动失效,可以指定过期时间
- 缓存大小限制,可以指定缓存个数,有LRU算法
- 缓存命中率统计
- 并发安全,解决缓存击穿问题
- Go语言简单实现LRU淘汰算法
- 使用syncx.SharedCalls解决缓存击穿问题的方法
2022/12/31大约 6 分钟
源码地址:go-zero/cache.go at master · tal-tech/go-zero · GitHub
项目地址 https://github.com/patrickmn/go-cache