redis

package
v1.0.1-dev.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

redis provides the Redis implementation of the StoreClient interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(config db.DatabaseInfo) (interfaces.StoreClient, error)

NewClient provides a factory for building a StoreClient

Types

type Client

type Client struct {
	Pool      *redis.Pool // A thread-safe pool of connections to Redis
	BatchSize int
}

Client provides an implementation for the Client interface for Redis

func (Client) Disconnect

func (c Client) Disconnect() error

Disconnect ends the connection.

func (Client) RemoveFromStore

func (c Client) RemoveFromStore(o contracts.StoredObject) error

RemoveFromStore removes an object from the data store.

func (Client) RetrieveFromStore

func (c Client) RetrieveFromStore(appServiceKey string) (objects []contracts.StoredObject, err error)

RetrieveFromStore gets an object from the data store.

func (Client) Store

func (c Client) Store(o contracts.StoredObject) (string, error)

Store persists a stored object to the data store. Three ("Three shall be the number thou shalt count, and the number of the counting shall be three") keys are used:

  • the object id to point to a STRING which is the marshal'ed JSON.
  • the object AppServiceKey to point to a SET containing all object ids associated with this app service. Note the key is prefixed to avoid key collisions.
  • the object id to point to a HASH which contains the object AppServiceKey.

func (Client) Update

func (c Client) Update(o contracts.StoredObject) error

Update replaces the data currently in the store with the provided data.

Directories

Path Synopsis
models describes the data types that will be used when storing export data in Redis.
models describes the data types that will be used when storing export data in Redis.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL