Documentation
¶
Index ¶
- Constants
- func ToString(v interface{}) *string
- type AtomicWriteOperation
- type AtomicWriteResult
- type Backend
- type BatchOperation
- type DeleteResult
- type ErrorResult
- type FallbackBatchOperation
- func (op *FallbackBatchOperation) Delete(key string) DeleteResult
- func (op *FallbackBatchOperation) Exec() error
- func (op *FallbackBatchOperation) Get(key string) GetResult
- func (op *FallbackBatchOperation) SAdd(key string, member interface{}, members ...interface{}) ErrorResult
- func (op *FallbackBatchOperation) SMembers(key string) SMembersResult
- func (op *FallbackBatchOperation) SRem(key string, member interface{}, members ...interface{}) ErrorResult
- func (op *FallbackBatchOperation) Set(key string, value interface{}) ErrorResult
- func (op *FallbackBatchOperation) ZAdd(key string, member interface{}, score float64) ErrorResult
- func (op *FallbackBatchOperation) ZRem(key string, member interface{}) ErrorResult
- type GetResult
- type SMembersResult
- type ScoredMember
- type ScoredMembers
Constants ¶
View Source
const MaxAtomicWriteOperations = 10
DynamoDB can't do more than 10 operations in an atomic write. So all stores should enforce this limit.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AtomicWriteOperation ¶
type AtomicWriteOperation interface {
SetNX(key string, value interface{}) AtomicWriteResult
CAS(key string, oldValue, newValue string) AtomicWriteResult
Delete(key string) AtomicWriteResult
// Executes the operation. If a condition failed, returns false.
Exec() (bool, error)
}
type AtomicWriteResult ¶
type AtomicWriteResult interface {
// Returns false if the transaction failed due to this operation's conditional failing.
ConditionalFailed() bool
}
type Backend ¶
type Backend interface {
// Batch allows you to batch up simple operations for better performance potential. Use this
// only for possible performance benefits. Read isolation is implementation-defined and other
// properties such as atomicity should not be assumed.
Batch() BatchOperation
// AtomicWrite executes up to 10 write operations atomically, failing entirely if any
// conditional operations (e.g. SetNX) are not executed.
AtomicWrite() AtomicWriteOperation
Delete(key string) (success bool, err error)
Get(key string) (*string, error)
Set(key string, value interface{}) error
// CAS performs a compare-and-swap operation. It gets the given key, allows you to transform its
// value, then updates it only if it hasn't changed. Returning nil from the transform function
// performs no action, causing CAS to return true, nil.
CAS(key string, transform func(v *string) (interface{}, error)) (success bool, err error)
// Add an integer to an integer value. Or set if the key doesn't exist.
AddInt(key string, n int64) (int64, error)
// Set if the key already exists.
SetXX(key string, value interface{}) (bool, error)
// Set if the key doesn't exist.
SetNX(key string, value interface{}) (bool, error)
// Add to or create a set. Sets are ideal for small sizes and fast read access. Sorted sets
// should be considered instead for large, write-heavy applications.
SAdd(key string, member interface{}, members ...interface{}) error
// Remove from a set.
SRem(key string, member interface{}, members ...interface{}) error
// Get members of a set.
SMembers(key string) ([]string, error)
// Add to or create a sorted set.
ZAdd(key string, member interface{}, score float64) error
// Gets the score for a member added via ZAdd.
ZScore(key string, member interface{}) (*float64, error)
// Remove from a sorted set.
ZRem(key string, member interface{}) error
// Increment a score in a sorted set or set the score if the member doesn't exist.
ZIncrBy(key string, member string, n float64) (float64, error)
// Get members of a sorted set by ascending score.
ZRangeByScore(key string, min, max float64, limit int) ([]string, error)
// Get members (and their scores) of a sorted set by ascending score.
ZRangeByScoreWithScores(key string, min, max float64, limit int) (ScoredMembers, error)
// Get members of a sorted set by descending score.
ZRevRangeByScore(key string, min, max float64, limit int) ([]string, error)
// Get members (and their scores) of a sorted set by descending score.
ZRevRangeByScoreWithScores(key string, min, max float64, limit int) (ScoredMembers, error)
// Gets the number of members with scores between min and max, inclusive.
ZCount(key string, min, max float64) (int, error)
// Gets the number of members between min and max. All members of the set must have been added
// with a zero score. min and max must begin with '(' or '[' to indicate exclusive or inclusive.
// Alternatively, min can be "-" and max can be "+" to represent infinities.
ZLexCount(key string, min, max string) (int, error)
// Get members of a sorted set by lexicographical order. All members of the set must have been
// added with a zero score. min and max must begin with '(' or '[' to indicate exclusive or
// inclusive. Alternatively, min can be "-" and max can be "+" to represent infinities.
ZRangeByLex(key string, min, max string, limit int) ([]string, error)
// Get members of a sorted set by reverse lexicographical order. All members of the set must
// have been added with a zero score. min and max must begin with '(' or '[' to indicate
// exclusive or inclusive. Alternatively, min can be "-" and max can be "+" to represent
// infinities.
ZRevRangeByLex(key string, min, max string, limit int) ([]string, error)
}
type BatchOperation ¶
type BatchOperation interface {
Get(key string) GetResult
Delete(key string) DeleteResult
Set(key string, value interface{}) ErrorResult
SMembers(key string) SMembersResult
SAdd(key string, member interface{}, members ...interface{}) ErrorResult
SRem(key string, member interface{}, members ...interface{}) ErrorResult
ZAdd(key string, member interface{}, score float64) ErrorResult
ZRem(key string, member interface{}) ErrorResult
Exec() error
}
type DeleteResult ¶
type ErrorResult ¶
type ErrorResult interface {
Result() error
}
type FallbackBatchOperation ¶
type FallbackBatchOperation struct {
Backend Backend
// contains filtered or unexported fields
}
FallbackBatchOperation provides a suitable fallback for stores that don't supported optimized batching.
func (*FallbackBatchOperation) Delete ¶
func (op *FallbackBatchOperation) Delete(key string) DeleteResult
func (*FallbackBatchOperation) Exec ¶
func (op *FallbackBatchOperation) Exec() error
func (*FallbackBatchOperation) Get ¶
func (op *FallbackBatchOperation) Get(key string) GetResult
func (*FallbackBatchOperation) SAdd ¶
func (op *FallbackBatchOperation) SAdd(key string, member interface{}, members ...interface{}) ErrorResult
func (*FallbackBatchOperation) SMembers ¶
func (op *FallbackBatchOperation) SMembers(key string) SMembersResult
func (*FallbackBatchOperation) SRem ¶
func (op *FallbackBatchOperation) SRem(key string, member interface{}, members ...interface{}) ErrorResult
func (*FallbackBatchOperation) Set ¶
func (op *FallbackBatchOperation) Set(key string, value interface{}) ErrorResult
func (*FallbackBatchOperation) ZAdd ¶
func (op *FallbackBatchOperation) ZAdd(key string, member interface{}, score float64) ErrorResult
func (*FallbackBatchOperation) ZRem ¶
func (op *FallbackBatchOperation) ZRem(key string, member interface{}) ErrorResult
type SMembersResult ¶
type ScoredMember ¶
type ScoredMembers ¶
type ScoredMembers []*ScoredMember
func (ScoredMembers) Values ¶
func (m ScoredMembers) Values() []string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.