Documentation
¶
Index ¶
- Variables
- func CheckRedisConf(redisServersStr string) error
- type Client
- type Options
- type RedisClient
- func (c *RedisClient) ActiveConnNum() int
- func (c *RedisClient) Decr(key string) (int64, error)
- func (c *RedisClient) Expire(key string, expire int) error
- func (c *RedisClient) Get(key string) (interface{}, error)
- func (c *RedisClient) GetInt64(key string) (int64, error)
- func (c *RedisClient) Incr(key string) (int64, error)
- func (c *RedisClient) IncrAndExpire(key string, expire int) (int64, error)
- func (c *RedisClient) IncrBy(key string, delta int64) (int64, error)
- func (c *RedisClient) PIncr(keyList []string) ([]int64, error)
- func (c *RedisClient) SetConnDelay(delayCounter *delay_counter.DelayRecent)
- func (c *RedisClient) SetDelay(delayCounter *delay_counter.DelayRecent)
- func (c *RedisClient) SetModuleState2(state *module_state2.State)
- func (c *RedisClient) Setex(key string, value []byte, expire int) (err error)
- type RedisClusterConf
Constants ¶
This section is empty.
Variables ¶
var ( RedisConn = "REDIS_CONN" RedisConnFail = "REDIS_CONN_FAIL" RedisAuthFail = "REDIS_AUTH_FAIL" RedisExpire = "REDIS_EXPIRE" RedisExpireFail = "REDIS_EXPIRE_FAIL" RedisSetex = "REDIS_SETEX" RedisSetexFail = "REDIS_SETEX_FAIL" RedisGet = "REDIS_GET" RedisGetFail = "REDIS_GET_FAIL" RedisGetMiss = "REDIS_GET_MISS" RedisGetHit = "REDIS_GET_HIT" RedisIncr = "REDIS_INCR" RedisIncrFail = "REDIS_INCR_FAIL" RedisDecr = "REDIS_DECR" RedisDecrFail = "REDIS_DECR_FAIL" RedisSendFail = "REDIS_SEND_FAIL" RedisFlushFail = "REDIS_FLUSH_FAIL" )
counters for module state 2
var ( // default bns update interval 10s DfBnsUpdateInterval = 60 * time.Second // max value for one redis cluster weight MaxWeightValue = 100 // min value for one redis cluster weight MinWeightValue = 1 // max value for all redis clusters weight sum MaxWeightSum = 10000 RedisGetBnsInstanceErr = "REDIS_GET_BNS_INSTANCE_ERR" RedisNoBnsInstance = "REDIS_NO_BNS_INSTANCE" RedisBnsInstanceChanged = "REDIS_BNS_INSTANCE_CHANGED" )
Functions ¶
func CheckRedisConf ¶
Types ¶
type Client ¶
type Client interface {
Setex(key string, value []byte, expire int) error
Get(key string) (interface{}, error)
Expire(key string, expire int) error
Incr(key string) (int64, error)
IncrAndExpire(key string, expire int) (int64, error)
Decr(key string) (int64, error)
PIncr([]string) ([]int64, error)
GetInt64(key string) (int64, error)
IncrBy(key string, delta int64) (int64, error)
}
Client: redis client interface
func NewRedisClient ¶
type Options ¶
type Options struct {
// ServiceConf: string, bns name or a batch of bns name with weight of redis server
ServiceConf string
// MaxIdle: int, max idle connections in connection pool
MaxIdle int
// MaxActive: int, max active connections in connection pool
MaxActive int
// wait: bool, if wait is true and pool at the maxActive limit,
// command waits for a connection return to the pool
Wait bool
// ConnTimeoutMs: int, connect redis server timeout, in ms
ConnTimeoutMs int
// ReadTimeoutMs: int, read redis server timeout, in ms
ReadTimeoutMs int
// writeTimeoutMs: int, write redis server timeout, in ms
WriteTimeoutMs int
Password string
// contains filtered or unexported fields
}
type RedisClient ¶
type RedisClient struct {
ConnectTimeout time.Duration // connect timeout (ms)
ReadTimeout time.Duration // read timeout (ms)
WriteTimeout time.Duration // write timeout (ms)
Password string // password, ignore if no password
MaxIdle int // max idle conenctions in pool
MaxActive int // max active connections in pool
Wait bool // if pool meet MaxActive limit, and Wait is true, wait for a connection return to pool
// contains filtered or unexported fields
}
func NewRedisBnsClient ¶
func NewRedisBnsClient(opts *Options) *RedisClient
NewRedisBnsClient(): create a new redisClient with bns support Notice:
- if resolve bns error, c.Servers will be empty.
Returns:
- *redisClient: a new redis client
func NewRedisClient1 ¶
func NewRedisClient1(serviceConf string, maxIdle int, ct, rt, wt int) *RedisClient
NewRedisClient(): create a new redisClient with bns support Notice:
- if resolve bns error, c.Servers will be empty.
Params:
- serviceConf: string, bns name or a batch of bns name with weight of redis server
- maxIdle: int, max idle connections in connection pool
- ct: int, connect redis server timeout, in ms
- rt: int, read redis server timeout, in ms
- wt: int, write redis server timeout, in ms
Returns:
- *redisClient: a new redis client
func NewRedisClient2 ¶
func NewRedisClient2(serviceConf string, maxIdle, maxActive int, wait bool, ct, rt, wt int) *RedisClient
NewRedisClient2(): create a new redisClient with bns support Notice:
- if resolve bns error, c.Servers will be empty.
Params:
- serviceConf: string, bns name or a batch of bns name with weight of redis server
- maxIdle: int, max idle connections in connection pool
- maxActive: int, max active connections in connection pool
- wait: bool, if wait is true and pool at the maxActive limit, command waits for a connection return to the pool
- ct: int, connect redis server timeout, in ms
- rt: int, read redis server timeout, in ms
- wt: int, write redis server timeout, in ms
Returns:
- *redisClient: a new redis client
func (*RedisClient) ActiveConnNum ¶
func (c *RedisClient) ActiveConnNum() int
ActiveConnNum returns the num of active connextions
func (*RedisClient) Expire ¶
func (c *RedisClient) Expire(key string, expire int) error
set expire to redis
func (*RedisClient) Get ¶
func (c *RedisClient) Get(key string) (interface{}, error)
get value from redis
func (*RedisClient) GetInt64 ¶
func (c *RedisClient) GetInt64(key string) (int64, error)
get value from redis
func (*RedisClient) IncrAndExpire ¶
func (c *RedisClient) IncrAndExpire(key string, expire int) (int64, error)
incr and expire key to redis
func (*RedisClient) IncrBy ¶
func (c *RedisClient) IncrBy(key string, delta int64) (int64, error)
incr key to redis
func (*RedisClient) PIncr ¶
func (c *RedisClient) PIncr(keyList []string) ([]int64, error)
PIncr incr keys in pipeline mode, seprate keyList by clusterId and do pincr concurrently
func (*RedisClient) SetConnDelay ¶
func (c *RedisClient) SetConnDelay(delayCounter *delay_counter.DelayRecent)
set conn delay counter to redisClient
func (*RedisClient) SetDelay ¶
func (c *RedisClient) SetDelay(delayCounter *delay_counter.DelayRecent)
set delay counter to redisClient
func (*RedisClient) SetModuleState2 ¶
func (c *RedisClient) SetModuleState2(state *module_state2.State)
set state of module_state2 to redisClient
func (*RedisClient) Setex ¶
func (c *RedisClient) Setex(key string, value []byte, expire int) (err error)
Setex(): save key:value to redis server, and set expire time Params:
- key: string
- value: []byte
- expire: int, expire time in second
Returns:
- nil, if success, otherwise return error
save sessionState to session cache
type RedisClusterConf ¶
type RedisClusterConf struct {
// contains filtered or unexported fields
}
func ParseRedisBnsConf ¶
func ParseRedisBnsConf(serviceConfRawStr string) ([]RedisClusterConf, error)