- Notifications
You must be signed in to change notification settings - Fork0
A Go caching framework that supports multiple data source drivers
License
no-src/nscache
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
go get -u github.com/no-src/nscache
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
| Driver | Import Driver Package | Connection String Example |
|---|---|---|
| Memory | github.com/no-src/nscache/memory | memory: |
| Redis | github.com/no-src/nscache/redis | redis://127.0.0.1:6379 |
| Redis Cluster | github.com/no-src/nscache/redis_cluster | redis-cluster://127.0.0.1:7001?addr=127.0.0.1:7002&addr=127.0.0.1:7003 |
| BuntDB | github.com/no-src/nscache/buntdb | buntdb://:memory: orbuntdb://buntdb.db |
| Etcd | github.com/no-src/nscache/etcd | etcd://127.0.0.1:2379?dial_timeout=5s |
| BoltDB | github.com/no-src/nscache/boltdb | boltdb://boltdb.db |
| FreeCache | github.com/no-src/nscache/freecache | freecache://?cache_size=50mib |
| BigCache | github.com/no-src/nscache/bigcache | bigcache://?eviction=10m |
| FastCache | github.com/no-src/nscache/fastcache | fastcache://?max_bytes=50mib |
| Memcached | github.com/no-src/nscache/memcached | memcached://127.0.0.1:11211 |
| Proxy | github.com/no-src/nscache/proxy/client | proxy://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}}
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:
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:
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
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.