Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var NewRedisStorage = func(config map[string]interface{}) (Storage, error) { dsn, ok := config["dsn"] if !ok { err := fmt.Errorf("the DSN configuration option is required for the Redis storage") return nil, err } sDSN := dsn.(string) client, err := redis.Dial("tcp", sDSN) if err != nil { err := fmt.Errorf("failed to connect to Redis: %s", err.Error()) return nil, err } storage := Redis{ dsn: sDSN, client: client, } return storage, nil }
NewRedisStorage implements the StorageFactory function type. It initiates a connection to the Redis database defined in the given configuration, and it returns the Storage engine object.
Functions ¶
This section is empty.
Types ¶
type Redis ¶
type Redis struct {
// contains filtered or unexported fields
}
Redis implements the Storage interface, allowing to use Redis as a Storage engine.
type RedisClient ¶
RedisClient is an interface that is used to allow dependency injection of the Redis client that makes the requests to the Redis datastore. Dependency injection is necessary for testing purposes.
type Storage ¶
Storage is an interface that should be implemented by all Storage engines. It defines an API for storing and retrieving Action objects.
type StorageFactory ¶
StorageFactory is a function type that should be implemented by all Storage engine factories. It defines a function type that receives the required configuration as a map, and it returns the Storage engine object. The configuration should include the requested engine keyed "STORAGE_ENGINE" plus any configuration required by the engine itself.