Go to file
Tyler 1807721360
All checks were successful
continuous-integration/drone/push Build is passing
Add proper check for dst pointer
2019-10-02 20:38:20 -04:00
.drone.yml Remove server dependencies as Drone does not support services 2019-10-02 20:36:45 -04:00
cache.go Remove server dependencies as Drone does not support services 2019-10-02 20:36:45 -04:00
go.mod Rename cache drivers, add memory driver, add tests and drone integration 2019-10-02 20:17:34 -04:00
go.sum Rename cache drivers, add memory driver, add tests and drone integration 2019-10-02 20:17:34 -04:00
LICENSE Add license 2019-10-02 18:08:31 -04:00
memcache_test.go Remove server dependencies as Drone does not support services 2019-10-02 20:36:45 -04:00
memcache.go Remove server dependencies as Drone does not support services 2019-10-02 20:36:45 -04:00
memory_test.go Rename cache drivers, add memory driver, add tests and drone integration 2019-10-02 20:17:34 -04:00
memory.go Add proper check for dst pointer 2019-10-02 20:38:20 -04:00
README.md Initial commit 2019-10-02 00:10:27 -04:00
redis_test.go Remove server dependencies as Drone does not support services 2019-10-02 20:36:45 -04:00
redis.go Rename cache drivers, add memory driver, add tests and drone integration 2019-10-02 20:17:34 -04:00

CacheInterface

An experimental interface to use different caches interchangeably via URIs

Example Cache URIs:

redis://server:port?db=0&password=test
memcache://server1:11211,server2:11211

Code

The CacheInterface interface has all methods. All clients will implement this on a best-effort basis.

type CacheInterface interface {
	Has(key string) bool
	Get(key string) ([]byte, error)
	Set(key string, val interface{}, ttl time.Duration) (err error)
	Del(key string) error
}

Note: Set will automatically attempt to store byte arrays and strings directly, and encode the rest with JSON.