我是靠谱客的博主 个性月光,最近开发中收集的这篇文章主要介绍groupcache源码分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

本文公众号文章链接:https://mp.weixin.qq.com/s/nL6iD6oDcFyuZM-eGSllXg

本文csdn博客文章链接:https://blog.csdn.net/screscent/article/details/79723155

 

groupcache是go语言开发的缓存库。用于替换memcache的。

 

代码目录:

 

主要的代码框架如下

那么我们一个一个来讲解下。

一、lru

github.com/golang/groupcache/lru/lru.go

Cache结构体里,有两个东西关注下。ll list和cache,用了一个map来做查找,用ll来做lru刷新。

 

二、consistenthash

github.com/golang/groupcache/consistenthash/consistenthash.go

一致性hash,这里的代码也是很简单的。想要了解的,可以先去看看一致性hash原理

 

三、singleflight

github.com/golang/groupcache/singleflight/singleflight.go

这个文件里的代码很少,但很重要

Group结构体里,包含了一个map,value是call,其中包含了一个wg

最后

以上就是个性月光为你收集整理的groupcache源码分析的全部内容,希望文章能够帮你解决groupcache源码分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部