go get -u github.com/no-src/nscacheFirst, 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
}
}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@latestRun the cli tool with specified cache driver connection string to operate cache.
nscache-cli memory:Install the proxy server nscache-server.
go install github.com/no-src/nscache/cmd/nscache-server@latestRun 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 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