Documentation
¶
Index ¶
- type Dependency
- type ICache
- type IDependency
- type Redis
- func (r *Redis) Clear() error
- func (r *Redis) Del(key string) error
- func (r *Redis) Get(key string) (value string, dependencies []Dependency, ok bool, err error)
- func (r *Redis) GetDependencies(depKey ...string) ([]Dependency, error)
- func (r *Redis) IncrDependency(ttl *time.Duration, depKey ...string) error
- func (r *Redis) Set(key, value string, ttl *time.Duration, dependency ...IDependency) error
- func (r *Redis) SetDependency(ttl *time.Duration, dependency ...IDependency) error
- type RedisConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dependency ¶
Dependency is a dependency data
func (Dependency) GetKey ¶
func (d Dependency) GetKey() string
GetKey return key of dependency counter
func (Dependency) GetValue ¶
func (d Dependency) GetValue() int64
GetValue return value of dependency counter
type ICache ¶
type ICache interface {
//Set sets value of key with ttl and dependencies
Set(key, value string, ttl *time.Duration, dependency ...IDependency) error
//Get returns value of key
Get(key string) (value string, dependencies []Dependency, ok bool, err error)
//Del delete key from cache
Del(key string) error
//IncrDependency increment dependency counter
IncrDependency(ttl *time.Duration, depKey ...string) error
//GetDependencies returns dependency by key
GetDependencies(depKey ...string) ([]Dependency, error)
//SetDependency sets value of dependency
SetDependency(ttl *time.Duration, dependencies ...IDependency) error
//Clear clear all cache
Clear() error
}
ICache is an abstract cache, which describe methods
func NewRedis ¶
func NewRedis(conf *RedisConfig) (ICache, error)
NewRedis creat structure which implements ICache interface
type IDependency ¶
type IDependency interface {
//GetKey return key of dependency counter
GetKey() string
//GetValue return value of dependency counter
GetValue() int64
}
IDependency is an abstract dependency data
type Redis ¶
type Redis struct {
// contains filtered or unexported fields
}
Redis is implements of ICache methods
func (*Redis) GetDependencies ¶
func (r *Redis) GetDependencies(depKey ...string) ([]Dependency, error)
GetDependencies returns dependency by key
func (*Redis) IncrDependency ¶
IncrDependency increment dependency counter
func (*Redis) SetDependency ¶
func (r *Redis) SetDependency(ttl *time.Duration, dependency ...IDependency) error
SetDependency sets value of dependency
type RedisConfig ¶
type RedisConfig struct {
Client redis.UniversalClient
KeyPrefix string
DependencyPrefix string
LogPrefix string
EnableDataCompress bool
}
RedisConfig structure is used for configure redis based cache
Click to show internal directories.
Click to hide internal directories.