20 lines
529 B
Go
20 lines
529 B
Go
package contract
|
|
|
|
import "time"
|
|
|
|
// CacheManager defines the main caching interface
|
|
// - Get methods can return domain.ErrCacheMiss
|
|
type CacheManager interface {
|
|
GetItem(key string) ([]byte, error)
|
|
SetItem(key string, data []byte) error
|
|
|
|
GetString(key string) (string, error)
|
|
SetString(key string, data string) error
|
|
|
|
GetStruct(key string, data interface{}) error
|
|
SetStruct(key string, data interface{}) error
|
|
|
|
GetExpiration(key string) (time.Duration, error)
|
|
SetExpiration(key string, expiration time.Duration) error
|
|
}
|