Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Go caching framework that supports multiple data source drivers

License

NotificationsYou must be signed in to change notification settings

no-src/nscache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BuildLicenseGo ReferenceGo Report CardcodecovReleaseMentioned in Awesome Go

Installation

go get -u github.com/no-src/nscache

Quick Start

First, you need to import the cache driver, then create your cache component instance with the specified connectionstring and use it.

Current support following cache drivers

DriverImport Driver PackageConnection String Example
Memorygithub.com/no-src/nscache/memorymemory:
Redisgithub.com/no-src/nscache/redisredis://127.0.0.1:6379
Redis Clustergithub.com/no-src/nscache/redis_clusterredis-cluster://127.0.0.1:7001?addr=127.0.0.1:7002&addr=127.0.0.1:7003
BuntDBgithub.com/no-src/nscache/buntdbbuntdb://:memory: orbuntdb://buntdb.db
Etcdgithub.com/no-src/nscache/etcdetcd://127.0.0.1:2379?dial_timeout=5s
BoltDBgithub.com/no-src/nscache/boltdbboltdb://boltdb.db
FreeCachegithub.com/no-src/nscache/freecachefreecache://?cache_size=50mib
BigCachegithub.com/no-src/nscache/bigcachebigcache://?eviction=10m
FastCachegithub.com/no-src/nscache/fastcachefastcache://?max_bytes=50mib
Memcachedgithub.com/no-src/nscache/memcachedmemcached://127.0.0.1:11211
Proxygithub.com/no-src/nscache/proxy/clientproxy://127.0.0.1:8080

For example, initial a memory cache and write, read and remove data.

package mainimport ("time"_"github.com/no-src/nscache/memory""github.com/no-src/log""github.com/no-src/nscache")funcmain() {// initial cache driverc,err:=nscache.NewCache("memory:")iferr!=nil {log.Error(err,"init cache error")return}deferc.Close()// write datak:="hello"c.Set(k,"world",time.Minute)// read datavarvstringiferr=c.Get(k,&v);err!=nil {log.Error(err,"get cache error")return}log.Info("key=%s value=%s",k,v)// remove dataiferr=c.Remove(k);err!=nil {log.Error(err,"remove cache error")return}}

Command Line Tool

You can use the command line tool to operate all the cache drivers thatnscache supports.

Install the command line toolnscache-cli.

go install github.com/no-src/nscache/cmd/nscache-cli@latest

Run the cli tool with specified cache driver connection string to operate cache.

nscache-cli memory:

Proxy

Proxy Server

Install the proxy servernscache-server.

go install github.com/no-src/nscache/cmd/nscache-server@latest

Run the proxy server with specified listen address and cache driver connection string.

nscache-server -addr=:8080 -conn=memory:

Proxy Client

You can use the code to operate cache proxy server like the example code in theQuick Start section.

Or use thenscache-cli to connect to the proxy server and operate cache.

nscache-cli proxy://127.0.0.1:8080

About

A Go caching framework that supports multiple data source drivers

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp