Documentation ¶
Index ¶
- type Logger
- type RedisClusterOptions
- type RedisOptions
- type Store
- func NewMemoryStore(gcInterval, expiration time.Duration) Store
- func NewRedisClusterStore(opts *RedisClusterOptions, expiration time.Duration, out Logger, ...) Store
- func NewRedisClusterStoreWithCli(cli *redis.ClusterClient, expiration time.Duration, out Logger, ...) Store
- func NewRedisStore(opts *RedisOptions, expiration time.Duration, out Logger, prefix ...string) Store
- func NewRedisStoreWithCli(cli *redis.Client, expiration time.Duration, out Logger, prefix ...string) Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Logger ¶
type Logger interface {
Printf(format string, args ...interface{})
}
Logger Define the log output interface
type RedisClusterOptions ¶
type RedisClusterOptions struct { // A seed list of host:port addresses of cluster nodes. Addrs []string // The maximum number of retries before giving up. Command is retried // on network errors and MOVED/ASK redirects. // Default is 8. MaxRedirects int // Enables read-only commands on slave nodes. ReadOnly bool // Allows routing read-only commands to the closest master or slave node. RouteByLatency bool // Allows routing read-only commands to the random master or slave node. RouteRandomly bool OnConnect func(*redis.Conn) error MaxRetries int MinRetryBackoff time.Duration MaxRetryBackoff time.Duration Password string DialTimeout time.Duration ReadTimeout time.Duration WriteTimeout time.Duration // PoolSize applies per cluster node and not for the whole cluster. PoolSize int PoolTimeout time.Duration IdleTimeout time.Duration IdleCheckFrequency time.Duration }
RedisClusterOptions ClusterOptions are used to configure a cluster client and should be passed to NewClusterClient.
type RedisOptions ¶
type RedisOptions struct { // The network type, either tcp or unix. // Default is tcp. Network string // host:port address. Addr string // Dialer creates new network connection and has priority over // Network and Addr options. Dialer func(ctx context.Context, network, addr string) (net.Conn, error) // Optional password. Must match the password specified in the // requirepass server configuration option. Password string // Database to be selected after connecting to the server. DB int // Maximum number of retries before giving up. // Default is to not retry failed commands. MaxRetries int // Minimum backoff between each retry. // Default is 8 milliseconds; -1 disables backoff. MinRetryBackoff time.Duration // Maximum backoff between each retry. // Default is 512 milliseconds; -1 disables backoff. MaxRetryBackoff time.Duration // Dial timeout for establishing new connections. // Default is 5 seconds. DialTimeout time.Duration // Timeout for socket reads. If reached, commands will fail // with a timeout instead of blocking. // Default is 3 seconds. ReadTimeout time.Duration // Timeout for socket writes. If reached, commands will fail // with a timeout instead of blocking. // Default is ReadTimeout. WriteTimeout time.Duration // Maximum number of socket connections. // Default is 10 connections per every CPU as reported by runtime.NumCPU. PoolSize int // Amount of time client waits for connection if all connections // are busy before returning an error. // Default is ReadTimeout + 1 second. PoolTimeout time.Duration // Amount of time after which client closes idle connections. // Should be less than server's timeout. // Default is 5 minutes. IdleTimeout time.Duration // Frequency of idle checks. // Default is 1 minute. // When minus value is set, then idle check is disabled. IdleCheckFrequency time.Duration // TLS Config to use. When set TLS will be negotiated. TLSConfig *tls.Config }
RedisOptions Redis parameter options
type Store ¶
type Store interface { // Set sets the digits for the captcha id. Set(id string, digits []byte) // Get returns stored digits for the captcha id. Clear indicates // whether the captcha must be deleted from the store. Get(id string, clear bool) (digits []byte) }
Store An object implementing Store interface can be registered with SetCustomStore function to handle storage and retrieval of captcha ids and solutions for them, replacing the default memory store.
It is the responsibility of an object to delete expired and used captchas when necessary (for example, the default memory store collects them in Set method after the certain amount of captchas has been stored.)
func NewMemoryStore ¶
NewMemoryStore An internal store for captcha ids and their values.
func NewRedisClusterStore ¶
func NewRedisClusterStore(opts *RedisClusterOptions, expiration time.Duration, out Logger, prefix ...string) Store
NewRedisClusterStore create an instance of a redis cluster store
func NewRedisClusterStoreWithCli ¶
func NewRedisClusterStoreWithCli(cli *redis.ClusterClient, expiration time.Duration, out Logger, prefix ...string) Store
NewRedisClusterStoreWithCli create an instance of a redis cluster store
func NewRedisStore ¶
func NewRedisStore(opts *RedisOptions, expiration time.Duration, out Logger, prefix ...string) Store
NewRedisStore create an instance of a redis store