26 lines
626 B
Markdown
26 lines
626 B
Markdown
|
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.
|
||
|
|
||
|
```go
|
||
|
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.
|