Categorygithub.com/no-src/nscache
modulepackage
0.1.2
Repository: https://github.com/no-src/nscache.git
Documentation: pkg.go.dev

# README

nscache

Build License Go Reference Go Report Card codecov Release Mentioned 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 connection string 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
BuntDBgithub.com/no-src/nscache/buntdbbuntdb://:memory: or buntdb://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

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
	}
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

NewCache get an instance of NSCache by connection string.
Register register a new cache driver.

# Variables

ErrNil get nil data.

# Interfaces

NSCache the core interface of the cache.
NSCacheExt the NSCache extension function collection.

# Type aliases

CacheFactoryFunc the cache driver factory function.