当前位置: 首页 > 软件库 > 程序开发 > 缓存系统 >

FreeCache

Go 语言的缓存库
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 缓存系统
软件类型 开源软件
地区 国产
投 递 者 胡承载
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

FreeCache 是一个 Go 语言的缓存库,无额外的 GC 负荷。数百万对象的垃圾收集延迟仅在数百毫秒。

特性:

  • 可存储数以百万计条目

  • 零垃圾收集负荷

  • 高并发而且线程安全的访问

  • 纯 Go 语言实现

  • 支持对象失效

  • 近乎 LRU 的算法

  • 严格限制内存使用

  • 提供一个测试用的服务器,支持一些基本 Redis 命令

示例代码:

cacheSize := 1024*1024
cache := freecache.NewCache(cacheSize)
key := []byte("abc")
val := []byte("def")
expire := 60 // expire in 60 seconds
cache.Set(key, val, expire)
got, err := cache.Get(key)
if err != nil {
    fmt.Println(err)
} else {
    fmt.Println(string(got))
}
affected := cache.Del(key)
fmt.Println("deleted key ", affected)
fmt.Println("entry count ", cache.EntryCount())

注意事项:

  • 推荐使用 Go 1.4 版本

  • 内存是预先分配的

  • 如果你分配的内存非常大,那么应该设置 debug.SetGCPercent() 到一个很小的比例来获得正常的 GC 频率

FreeCache 通过减少指针的数量来避免 GC 符合,不管对象有多少,指针最多 512 个。

 相关资料
  • 本文向大家介绍易语言清除IE缓存cookies方法,包括了易语言清除IE缓存cookies方法的使用技巧和注意事项,需要的朋友参考一下 源码介绍: 8 删除Internet临时文件,2 删除cookie,1 删除历史记录,16 删除表单数据,32 删除密码,255 全部删除,4351 全部删除,包括插件的设置和文件 复制粘贴代码到易语言代码框即可: 大家可以测试下代码,感谢大家对呐喊教程的支持。

  • 我正在使用带咖啡因缓存的Spring boot。我的缓存键是一个长的,我需要这个键,例如:“1234-RULE”,其中1234是长对象,-RULE只是一个后缀。我尝试了以下方法来实现这一点: 调试时,我发现错误: 我的规则。id很长,我用来表示id和后缀的表达式似乎不正确。你能告诉我如何在我的用例中使用长字符串吗。

  • 主要内容:创建带缓冲通道,阻塞条件Go语言中有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型的通道并不强制要求 goroutine 之间必须同时完成发送和接收。通道会阻塞发送和接收动作的条件也会不同。只有在通道中没有要接收的值时,接收动作才会阻塞。只有在通道没有可用缓冲区容纳被发送的值时,发送动作才会阻塞。 这导致有缓冲的通道和无缓冲的通道之间的一个很大的不同:无缓冲的通道保证进

  • Go语言中无缓冲的通道(unbuffered channel)是指在接收前没有能力保存任何值的通道。这种类型的通道要求发送 goroutine 和接收 goroutine 同时准备好,才能完成发送和接收操作。 如果两个 goroutine 没有同时准备好,通道会导致先执行发送或接收操作的 goroutine 阻塞等待。这种对通道进行发送和接收的交互行为本身就是同步的。其中任意一个操作都无法离开另一

  • 1. 引言 其实我们不知道的是,早期的计算机是没有内存的,但是如今我们去买电脑时,都会十分关心电脑内存的各种参数,因此可以看出内存对于电脑性能的重要性。那么为什么需要内存呢?换句话说,内存与计算机以及程序之间的关系又是什么呢?本章将会以内存为中心,探讨许多与内存相关的概念和话题,这些概念是学好后续C语言知识不可缺少的基础,因此希望读者认真对待本章节的内容。 2. 计算机程序运行的目的 2.1 什么

  • 我有一个复杂的变量在我的自定义块模板中。是当前网站的语言,但内容仅以当时的语言交付,当缓存建造。 我的渲染数组中确实有语言,它适用于twig模板中的命令: 有没有办法让Drupal根据页面的当前语言处理多个缓存条目? 太多了<安德烈亚斯

  • 本文向大家介绍各类常见语言清除网页缓存方法汇总,包括了各类常见语言清除网页缓存方法汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了各类常见语言清除网页缓存方法。分享给大家供大家参考。具体实现方法如下: 一般来说,清除缓存我们只需要设置页面为no-cache就可以了,当然像asp,php这种只需要设置Expires操作即可,具体如下。 HTML网页: 或者 ASP网页: PHP网页: J

  • 主要内容:安装包,示例,应用Surv()和survfit()函数生存分析涉及预测特定事件发生的时间。 它也被称为失败时间分析或分析死亡时间。 例如预测癌症患者的生存天数或预测机械系统出现故障的时间。 R中的软件包:用于进行生存分析。该包中含有函数,它将输入数据作为R公式,并在所选变量中创建一个生存对象进行分析。然后使用函数来创建分析图。 安装包 语法 在R中创建生存分析的基本语法是 - 以下是使用的参数的描述 - time - 是直到事件发生的后续时间。 ev