nscache
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 connection string 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: or buntdb://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 main import ( "time" _ "github.com/no-src/nscache/memory" "github.com/no-src/log" "github.com/no-src/nscache" ) func main() { // initial cache driver c, err := nscache.NewCache("memory:") if err != nil { log.Error(err, "init cache error") return } defer c.Close() // write data k := "hello" c.Set(k, "world", time.Minute) // read data var v string if err = c.Get(k, &v); err != nil { log.Error(err, "get cache error") return } log.Info("key=%s value=%s", k, v) // remove data if err = 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 that nscache supports.
Install the command line tool nscache-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.
Proxy
Proxy Server
Install the proxy server nscache-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 the Quick Start section.
Or use the nscache-cli to connect to the proxy server and operate cache.
nscache-cli proxy://127.0.0.1:8080