Documentation ¶
Index ¶
- Constants
- type ChangedFielder
- type ListOptions
- type MigrateFunction
- type RedisKVStore
- func (s *RedisKVStore) Create(key string, value string) error
- func (s *RedisKVStore) Get(key string) (string, error)
- func (s *RedisKVStore) GetAll(keys []string, options *ListOptions) (map[string]string, error)
- func (s *RedisKVStore) List(selector string, options *ListOptions) (map[string]string, error)
- func (s *RedisKVStore) Set(key string, value string) error
- func (s *RedisKVStore) Update(key string, value string) error
- type RedisMapStore
- func (s *RedisMapStore) AddMigration(version string, migrate MigrateFunction)
- func (s *RedisMapStore) Create(key string, value interface{}, properties ...string) error
- func (s *RedisMapStore) Get(key string) (interface{}, error)
- func (s *RedisMapStore) GetAll(keys []string, options *ListOptions) ([]interface{}, error)
- func (s *RedisMapStore) GetFields(key string, fields ...string) (interface{}, error)
- func (s *RedisMapStore) List(selector string, options *ListOptions) ([]interface{}, error)
- func (s *RedisMapStore) Migrate(selector string) error
- func (s *RedisMapStore) Set(key string, value interface{}, properties ...string) error
- func (s *RedisMapStore) SetBase(base interface{}, tagName string)
- func (s *RedisMapStore) SetDecoder(decoder func(input map[string]string) (output interface{}, err error))
- func (s *RedisMapStore) SetEncoder(...)
- func (s *RedisMapStore) Update(key string, value interface{}, properties ...string) error
- type RedisQueueStore
- func (s *RedisQueueStore) AddEnd(key string, values ...string) error
- func (s *RedisQueueStore) AddFront(key string, values ...string) error
- func (s *RedisQueueStore) Get(key string) (res []string, err error)
- func (s *RedisQueueStore) GetAll(keys []string, options *ListOptions) (map[string][]string, error)
- func (s *RedisQueueStore) GetEnd(key string, length int) (res []string, err error)
- func (s *RedisQueueStore) GetFront(key string, length int) (res []string, err error)
- func (s *RedisQueueStore) Length(key string) (int, error)
- func (s *RedisQueueStore) List(selector string, options *ListOptions) (map[string][]string, error)
- func (s *RedisQueueStore) Next(key string) (string, error)
- func (s *RedisQueueStore) Trim(key string, length int) error
- type RedisSetStore
- func (s *RedisSetStore) Add(key string, values ...string) error
- func (s *RedisSetStore) Contains(key string, value string) (res bool, err error)
- func (s *RedisSetStore) Get(key string) (res []string, err error)
- func (s *RedisSetStore) GetAll(keys []string, options *ListOptions) (map[string][]string, error)
- func (s *RedisSetStore) List(selector string, options *ListOptions) (map[string][]string, error)
- func (s *RedisSetStore) Remove(key string, values ...string) error
- type RedisStore
- type Time
Constants ¶
const VersionKey = "_version"
VersionKey indicates the data (schema) version
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangedFielder ¶
type ChangedFielder interface {
ChangedFields() []string
}
ChangedFielder interface is used to see what fields to update
type ListOptions ¶
ListOptions are options for all list commands
func (ListOptions) GetTotalAndSelected ¶
func (o ListOptions) GetTotalAndSelected() (total, selected uint64)
GetTotalAndSelected returns the total number of items, along with the number of selected items
type MigrateFunction ¶
type MigrateFunction func(client *redis.Client, key string, input map[string]string) (version string, output map[string]string, err error)
MigrateFunction migrates data from its old version to the latest
type RedisKVStore ¶
type RedisKVStore struct {
*RedisStore
}
RedisKVStore stores arbitrary data in Redis
func NewRedisKVStore ¶
func NewRedisKVStore(client *redis.Client, prefix string) *RedisKVStore
NewRedisKVStore creates a new RedisKVStore
func (*RedisKVStore) Create ¶
func (s *RedisKVStore) Create(key string, value string) error
Create a new record, prepending the prefix to the key if necessary This function returns an error if the record already exists
func (*RedisKVStore) Get ¶
func (s *RedisKVStore) Get(key string) (string, error)
Get one result, prepending the prefix to the key if necessary
func (*RedisKVStore) GetAll ¶
func (s *RedisKVStore) GetAll(keys []string, options *ListOptions) (map[string]string, error)
GetAll returns all results for the given keys, prepending the prefix to the keys if necessary
func (*RedisKVStore) List ¶
func (s *RedisKVStore) List(selector string, options *ListOptions) (map[string]string, error)
List all results matching the selector, prepending the prefix to the selector if necessary
type RedisMapStore ¶
type RedisMapStore struct { *RedisStore // contains filtered or unexported fields }
RedisMapStore stores structs as HMaps in Redis
func NewRedisMapStore ¶
func NewRedisMapStore(client *redis.Client, prefix string) *RedisMapStore
NewRedisMapStore returns a new RedisMapStore that talks to the given Redis client and respects the given prefix
func (*RedisMapStore) AddMigration ¶
func (s *RedisMapStore) AddMigration(version string, migrate MigrateFunction)
AddMigration adds a data migration for a version
func (*RedisMapStore) Create ¶
func (s *RedisMapStore) Create(key string, value interface{}, properties ...string) error
Create a new record, prepending the prefix to the key if necessary, optionally setting only the given properties This function returns an error if the record already exists
func (*RedisMapStore) Get ¶
func (s *RedisMapStore) Get(key string) (interface{}, error)
Get one result, prepending the prefix to the key if necessary This function will migrate outdated results to newer versions if migrations are set
func (*RedisMapStore) GetAll ¶
func (s *RedisMapStore) GetAll(keys []string, options *ListOptions) ([]interface{}, error)
GetAll returns all results for the given keys, prepending the prefix to the keys if necessary This function will migrate outdated results to newer versions if migrations are set
func (*RedisMapStore) GetFields ¶
func (s *RedisMapStore) GetFields(key string, fields ...string) (interface{}, error)
GetFields for a record, prepending the prefix to the key if necessary This function does *not* migrate outdated results to newer versions
func (*RedisMapStore) List ¶
func (s *RedisMapStore) List(selector string, options *ListOptions) ([]interface{}, error)
List all results matching the selector, prepending the prefix to the selector if necessary
func (*RedisMapStore) Migrate ¶
func (s *RedisMapStore) Migrate(selector string) error
Migrate all documents matching the selector
func (*RedisMapStore) Set ¶
func (s *RedisMapStore) Set(key string, value interface{}, properties ...string) error
Set a record, prepending the prefix to the key if necessary, optionally setting only the given properties
func (*RedisMapStore) SetBase ¶
func (s *RedisMapStore) SetBase(base interface{}, tagName string)
SetBase sets the base struct for automatically encoding and decoding to and from Redis format
func (*RedisMapStore) SetDecoder ¶
func (s *RedisMapStore) SetDecoder(decoder func(input map[string]string) (output interface{}, err error))
SetDecoder sets the decoder to convert structs from Redis format
func (*RedisMapStore) SetEncoder ¶
func (s *RedisMapStore) SetEncoder(encoder func(input interface{}, properties ...string) (map[string]string, error))
SetEncoder sets the encoder to convert structs to Redis format
type RedisQueueStore ¶
type RedisQueueStore struct {
*RedisStore
}
RedisQueueStore stores queues in Redis
func NewRedisQueueStore ¶
func NewRedisQueueStore(client *redis.Client, prefix string) *RedisQueueStore
NewRedisQueueStore creates a new RedisQueueStore
func (*RedisQueueStore) AddEnd ¶
func (s *RedisQueueStore) AddEnd(key string, values ...string) error
AddEnd adds one or more values to the end of the queue, prepending the prefix to the key if necessary If you add AddEnd("value1", "value2") to an empty queue, then the Next(key) will return "value1".
func (*RedisQueueStore) AddFront ¶
func (s *RedisQueueStore) AddFront(key string, values ...string) error
AddFront adds one or more values to the front of the queue, prepending the prefix to the key if necessary If you add AddFront("value1", "value2") to an empty queue, then the Next(key) will return "value2".
func (*RedisQueueStore) Get ¶
func (s *RedisQueueStore) Get(key string) (res []string, err error)
Get one result, prepending the prefix to the key if necessary The items remain in the queue after the Get operation
func (*RedisQueueStore) GetAll ¶
func (s *RedisQueueStore) GetAll(keys []string, options *ListOptions) (map[string][]string, error)
GetAll returns all results for the given keys, prepending the prefix to the keys if necessary
func (*RedisQueueStore) GetEnd ¶
func (s *RedisQueueStore) GetEnd(key string, length int) (res []string, err error)
GetEnd gets <length> items from the end of the queue, prepending the prefix to the key if necessary The items remain in the queue after the Get operation
func (*RedisQueueStore) GetFront ¶
func (s *RedisQueueStore) GetFront(key string, length int) (res []string, err error)
GetFront gets <length> items from the front of the queue, prepending the prefix to the key if necessary The items remain in the queue after the Get operation
func (*RedisQueueStore) Length ¶
func (s *RedisQueueStore) Length(key string) (int, error)
Length gets the size of a queue, prepending the prefix to the key if necessary
func (*RedisQueueStore) List ¶
func (s *RedisQueueStore) List(selector string, options *ListOptions) (map[string][]string, error)
List all results matching the selector, prepending the prefix to the selector if necessary
type RedisSetStore ¶
type RedisSetStore struct {
*RedisStore
}
RedisSetStore stores sets in Redis
func NewRedisSetStore ¶
func NewRedisSetStore(client *redis.Client, prefix string) *RedisSetStore
NewRedisSetStore creates a new RedisSetStore
func (*RedisSetStore) Add ¶
func (s *RedisSetStore) Add(key string, values ...string) error
Add one or more values to the set, prepending the prefix to the key if necessary
func (*RedisSetStore) Contains ¶
func (s *RedisSetStore) Contains(key string, value string) (res bool, err error)
Contains returns wheter the set contains a given value, prepending the prefix to the key if necessary
func (*RedisSetStore) Get ¶
func (s *RedisSetStore) Get(key string) (res []string, err error)
Get one result, prepending the prefix to the key if necessary
func (*RedisSetStore) GetAll ¶
func (s *RedisSetStore) GetAll(keys []string, options *ListOptions) (map[string][]string, error)
GetAll returns all results for the given keys, prepending the prefix to the keys if necessary
func (*RedisSetStore) List ¶
func (s *RedisSetStore) List(selector string, options *ListOptions) (map[string][]string, error)
List all results matching the selector, prepending the prefix to the selector if necessary
type RedisStore ¶
type RedisStore struct {
// contains filtered or unexported fields
}
RedisStore is the base of more specialized stores
func NewRedisStore ¶
func NewRedisStore(client *redis.Client, prefix string) *RedisStore
NewRedisStore creates a new RedisStore
func (*RedisStore) Count ¶
func (s *RedisStore) Count(selector string) (int, error)
Count the results matching the selector
func (*RedisStore) Delete ¶
func (s *RedisStore) Delete(key string) error
Delete an existing record, prepending the prefix to the key if necessary
type Time ¶
Time is a wrapper around time.Time that marshals and unmarshals to the time.RFC3339Nano format
func (Time) MarshalText ¶
MarshalText implements the encoding.TextMarshaler interface
func (*Time) UnmarshalText ¶
UnmarshalText implements the encoding.TextUnmarshaler interface