GroupCache 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GroupCache 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GroupCache 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GroupCache 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GroupCache 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Google Go 查看源码 »
操作系统 Windows
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2013-07-30

软件简介

groupcache 是一个缓存和缓存填充库,旨在很多情况下替换 memcached

示例代码:

me := "http://10.0.0.1"
peers := groupcache.NewHTTPPool(me)

// Whenever peers change:
peers.Set("http://10.0.0.1", "http://10.0.0.2", "http://10.0.0.3")

var thumbNails = groupcache.NewGroup("thumbnail", 64<<20, groupcache.GetterFunc(
	func(ctx groupcache.Context, key string, dest groupcache.Sink) error {
		fileName := key
		dest.SetBytes(generateThumbnail(fileName))
		return nil
	}))

var data []byte
err := thumbNails.Get(ctx, "big-file.jpg",
	groupcache.AllocatingByteSliceSink(&data))
// ...
http.ServeContent(w, r, "big-file-thumb.jpg", modTime, bytes.NewReader(data))

这里有个介绍的幻灯片(需FQ):http://talks.golang.org/2013/oscon-dl.slide

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于开发技能专区
2020/04/23 10:54

groupcache

Gihub https://github.com/golang/groupcache 参考 https://blog.csdn.net/erlib/article/details/50208509 本文同步分享在 博客“羊羽”(other)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

0
0
发表了博客
2018/07/15 11:34

groupcache源码解析-概览

接下来讲什么 今天开始讲groupcache! Memcached大家应该都不陌生,官网的介绍是: Free & open source, high-performance, distributed memory object caching system(免费,开源,高性能的分布式内存对象缓存系统)。很多公司的产品都用到了Memcached,不过Memcached是用C语言开发的,我们的目的是提升Golang技能,所以这里我找了Golang版本的Memcached:groupcache来分析。 github地址:https://github.com/golang/groupca...

0
0
发表于数据库专区
2020/03/02 00:00

groupcache 相关资源

简介: groupcache 是 go 语言编写的一款分布式缓存组件,擅长做静态化数据的存储,不提供 set/update 等主动更新操作 Playing with groupcache api for package groupcache https://juejin.im/entry/57c3ce697db2a200680ab024 groupcache 架构设计 本文同步分享在 博客“huliuqing”(other)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表于软件架构专区
2015/01/12 11:29

groupcache常用框架以及源码解读

1、groupcache介绍: http://www.csdn.net/article/2013-07-30/2816399-groupcache-readme-go 2、groupcache常用框架: 一般常用以上的框架去使用groupcache,此框架以及框架示例代码可通过https://github.com/capotej/groupcache-db-experiment 下载, 框架示例核心源码解读: func main() {   var port = flag.String("port", "8001", "groupcache port")   flag.Parse()   peers := groupcache.NewHTTPPool("http:...

0
14
发表了博客
2020/05/07 14:09

Golang groupcache LRU 缓存简介与用法

1.LRU LRU(Least Recently Used,最近最久未使用算法)是一种常见的缓存淘汰算法,当缓存满时,淘汰最近最久未使用的元素,在很多分布式缓存系统(如Redis, Memcached)中都有广泛使用。其基本思想是如果一个数据在最近一段时间没有被访问到,那么可以认为在将来它被访问的可能性也很小。因此,当缓存满时,最久未被访问的数据最先被淘汰。具体做法是将最近使用的元素存放到靠近缓存顶部的位置,当一个新条目被访问时,LRU 将它...

0
0
发表了博客
2018/03/24 17:26

groupcache使用singleflight实现资源访问合并

/ Package singleflight provides a duplicate function call suppression // mechanism. package singleflight import "sync" // call is an in-flight or completed Do call type call struct { wg sync.WaitGroup val interface{} err error } // Group represents a class of work and forms a namespace in which // units of work can be executed with duplicate suppression. type Grou...

0
0
发表了博客
2020/06/09 07:58

[Go] 内存缓存库对比, groupcache, go-cache, freecache, cache2go, fastcache

groupcache 分布式缓存和缓存填充库,在许多情况下都可以用来替代内存缓存节点池,不支持 expire。 go-cache  内存中键值存储/缓存库(类似于Memcached),适用于单机应用程序。 freecache 支持 expire,类似 cache2go。 ristretto  未做好面向生产环境 golang-lru 固定尺寸大小的 线程安全的 LRU 缓存库,基于 Groupcache,比较简陋。 cache2go 支持 expire,并发安全的缓存库,api 简单。 gcache  支持 expire,LFU, LR...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
42 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部