cache2go Go 缓存库

程序名称:cache2go

授权协议: BSD

操作系统: 跨平台

开发语言: Google Go

cache2go 介绍

cache2go 是一个 Go 的并发安全缓存库,具有到期和访问计数器的功能

示例代码

@H_502_8@package main import (     "github.com/muesli/cache2go"     "fmt"     "time" ) // Keys & values in cache2go can be off arbitrary types, e.g. a struct. type myStruct struct {     text     string     moreData []byte } func main() {     // Accessing a new cache table for the first time will create it.     cache := cache2go.Cache("myCache")     // We will put a new item in the cache. It will expire after     // not being accessed via Value(key) for more than 5 seconds.     val := myStruct{"This is a test!", []byte{}}     cache.Add("someKey", 5*time.Second, &val)     // Let's retrieve the item from the cache.     res, err := cache.Value("someKey")     if err == nil {         fmt.Println("Found value in cache:", res.Data().(*myStruct).text)     } else {         fmt.Println("Error retrieving value from cache:", err)     }     // Wait for the item to expire in cache.     time.Sleep(6 * time.Second)     res, err = cache.Value("someKey")     if err != nil {         fmt.Println("Item is not cached (anymore).")     }     // Add another item that never expires.     cache.Add("someKey", 0, &val)     // cache2go supports a few handy callbacks and loading mechanisms.     cache.SetAboutToDeleteItemCallback(func(e *cache2go.CacheItem) {         fmt.Println("Deleting:", e.Key(), e.Data().(*myStruct).text, e.CreatedOn())     })     // Remove the item from the cache.     cache.Delete("someKey")     // And wipe the entire cache table.     cache.Flush() } go run mycachedapp.go

cache2go 官网

https://github.com/muesli/cache2go

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。