Documentation
¶
Index ¶
- Variables
- type Cassandra
- type CassandraColumnMetadata
- type CassandraColumnMetadataColumn
- type CassandraOp
- func (c *CassandraOp) Attempt(query gocql.RetryableQuery) bool
- func (c *CassandraOp) Close()
- func (c *CassandraOp) ColumnsMetadata() map[string]CassandraColumnMetadata
- func (c *CassandraOp) Config() *gocql.ClusterConfig
- func (c *CassandraOp) Exec(f func(session *gocql.Session)) error
- func (c *CassandraOp) GetRetryType(err error) gocql.RetryType
- func (c *CassandraOp) Keyspace() string
- func (c *CassandraOp) NewSession() (*gocql.Session, error)
- func (c *CassandraOp) ObserveConnect(connect gocql.ObservedConnect)
- func (c *CassandraOp) Session() *gocql.Session
- func (c *CassandraOp) SetMaxRetryAttempt(maxRetry int)
- type CassandraOperator
- type CassandraProvider
- type ConnParams
- type Database
- type DatabaseOp
- func (o *DatabaseOp) Adapter() string
- func (o *DatabaseOp) DB() *gorm.DB
- func (o *DatabaseOp) GetConnParams() ConnParams
- func (o *DatabaseOp) GetGORMParams() gorm.Config
- func (o *DatabaseOp) GetLogger() logger.Interface
- func (o *DatabaseOp) GetMysqlParams() MysqlParams
- func (o *DatabaseOp) Meta() secret.DatabaseMeta
- func (o *DatabaseOp) SetConnParams(params ConnParams)
- func (o *DatabaseOp) SetGORMParams(config gorm.Config)
- func (o *DatabaseOp) SetLogger(logger logger.Interface)
- func (o *DatabaseOp) SetMysqlParams(params MysqlParams)
- type DatabaseOperator
- type DatabaseProvider
- type MockCallRecord
- type MockCassandraBuilder
- func (b *MockCassandraBuilder) Build() *Cassandra
- func (b *MockCassandraBuilder) WithName(name string) *MockCassandraBuilder
- func (b *MockCassandraBuilder) WithProfile(profile secret.Cassandra) *MockCassandraBuilder
- func (b *MockCassandraBuilder) WithReaderKeyspace(keyspace string) *MockCassandraBuilder
- func (b *MockCassandraBuilder) WithReaderSession(session *gocql.Session) *MockCassandraBuilder
- func (b *MockCassandraBuilder) WithWriterKeyspace(keyspace string) *MockCassandraBuilder
- func (b *MockCassandraBuilder) WithWriterSession(session *gocql.Session) *MockCassandraBuilder
- type MockCassandraCall
- type MockCassandraOp
- func (m *MockCassandraOp) ClearCallHistory()
- func (m *MockCassandraOp) Close()
- func (m *MockCassandraOp) ColumnsMetadata() map[string]CassandraColumnMetadata
- func (m *MockCassandraOp) Config() *gocql.ClusterConfig
- func (m *MockCassandraOp) Exec(f func(session *gocql.Session)) error
- func (m *MockCassandraOp) GetCallHistory() []MockCassandraCall
- func (m *MockCassandraOp) GetCallsByMethod(method string) []MockCassandraCall
- func (m *MockCassandraOp) IsSessionClosed() bool
- func (m *MockCassandraOp) Keyspace() string
- func (m *MockCassandraOp) NewSession() (*gocql.Session, error)
- func (m *MockCassandraOp) Session() *gocql.Session
- func (m *MockCassandraOp) SetColumnsMetadata(metadata map[string]CassandraColumnMetadata)
- func (m *MockCassandraOp) SetConfig(config *gocql.ClusterConfig)
- func (m *MockCassandraOp) SetExecError(err error)
- func (m *MockCassandraOp) SetKeyspace(keyspace string)
- func (m *MockCassandraOp) SetMaxRetryAttempt(maxRetry int)
- func (m *MockCassandraOp) SetMockSession(session *gocql.Session)
- func (m *MockCassandraOp) SetNewSessionResponse(session *gocql.Session, err error)
- func (m *MockCassandraOp) SetReturnNilSession(returnNil bool)
- func (m *MockCassandraOp) SetSessionResponse(session *gocql.Session, err error)
- func (m *MockCassandraOp) SimulateFailure(fail bool)
- type MockConditionFunc
- type MockConditionRule
- type MockDatabaseBuilder
- func (b *MockDatabaseBuilder) Build() *Database
- func (b *MockDatabaseBuilder) WithReaderAdapter(adapter string) *MockDatabaseBuilder
- func (b *MockDatabaseBuilder) WithReaderDB(db *gorm.DB) *MockDatabaseBuilder
- func (b *MockDatabaseBuilder) WithReaderMeta(meta secret.DatabaseMeta) *MockDatabaseBuilder
- func (b *MockDatabaseBuilder) WithWriterAdapter(adapter string) *MockDatabaseBuilder
- func (b *MockDatabaseBuilder) WithWriterDB(db *gorm.DB) *MockDatabaseBuilder
- func (b *MockDatabaseBuilder) WithWriterMeta(meta secret.DatabaseMeta) *MockDatabaseBuilder
- type MockDatabaseCall
- type MockDatabaseOp
- func (m *MockDatabaseOp) Adapter() string
- func (m *MockDatabaseOp) ClearCallHistory()
- func (m *MockDatabaseOp) DB() *gorm.DB
- func (m *MockDatabaseOp) GetCallHistory() []MockDatabaseCall
- func (m *MockDatabaseOp) GetCallsByMethod(method string) []MockDatabaseCall
- func (m *MockDatabaseOp) GetConnParams() ConnParams
- func (m *MockDatabaseOp) GetDBCallCount() int
- func (m *MockDatabaseOp) GetGORMParams() gorm.Config
- func (m *MockDatabaseOp) GetLogger() logger.Interface
- func (m *MockDatabaseOp) GetMysqlParams() MysqlParams
- func (m *MockDatabaseOp) Meta() secret.DatabaseMeta
- func (m *MockDatabaseOp) SetAdapterResponse(adapter string)
- func (m *MockDatabaseOp) SetConnParams(params ConnParams)
- func (m *MockDatabaseOp) SetDBResponse(db *gorm.DB, err error)
- func (m *MockDatabaseOp) SetGORMParams(config gorm.Config)
- func (m *MockDatabaseOp) SetLogger(logger logger.Interface)
- func (m *MockDatabaseOp) SetMeta(meta secret.DatabaseMeta)
- func (m *MockDatabaseOp) SetMockDB(db *gorm.DB)
- func (m *MockDatabaseOp) SetMysqlParams(params MysqlParams)
- func (m *MockDatabaseOp) SetReturnNilDB(returnNil bool)
- func (m *MockDatabaseOp) SimulateDBFailure(fail bool)
- type MockRedisBuilder
- func (b *MockRedisBuilder) Build() *Redis
- func (b *MockRedisBuilder) GetMasterMock() *MockRedisOp
- func (b *MockRedisBuilder) GetSlaveMock() *MockRedisOp
- func (b *MockRedisBuilder) WithConditionalResponse(cmd string, condition MockConditionFunc, response MockResponse) *MockRedisBuilder
- func (b *MockRedisBuilder) WithMasterResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
- func (b *MockRedisBuilder) WithResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
- func (b *MockRedisBuilder) WithSequentialResponses(cmd, key string, responses []MockResponse) *MockRedisBuilder
- func (b *MockRedisBuilder) WithSlaveResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
- type MockRedisConn
- func (c *MockRedisConn) Close() error
- func (c *MockRedisConn) Do(commandName string, args ...interface{}) (reply interface{}, err error)
- func (c *MockRedisConn) Err() error
- func (c *MockRedisConn) Flush() error
- func (c *MockRedisConn) Receive() (reply interface{}, err error)
- func (c *MockRedisConn) Send(commandName string, args ...interface{}) error
- type MockRedisOp
- func (m *MockRedisOp) ActiveCount() int
- func (m *MockRedisOp) Append(key interface{}, val interface{}) *RedisResponse
- func (m *MockRedisOp) ClearCallHistory()
- func (m *MockRedisOp) Close() error
- func (m *MockRedisOp) Conn() redis.Conn
- func (m *MockRedisOp) Copy(src, dst interface{}) *RedisResponse
- func (m *MockRedisOp) Decr(key interface{}) *RedisResponse
- func (m *MockRedisOp) DecrBy(key interface{}, val int64) *RedisResponse
- func (m *MockRedisOp) Delete(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) Dump(key interface{}) *RedisResponse
- func (m *MockRedisOp) Eval(script string, keys []interface{}, args []interface{}) *RedisResponse
- func (m *MockRedisOp) Exec(f func(conn redis.Conn)) error
- func (m *MockRedisOp) Exists(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) Expire(key interface{}, ttl int64) *RedisResponse
- func (m *MockRedisOp) FlushAll() *RedisResponse
- func (m *MockRedisOp) FlushDB() *RedisResponse
- func (m *MockRedisOp) Get(key interface{}) *RedisResponse
- func (m *MockRedisOp) GetCallCount(cmd string) int
- func (m *MockRedisOp) GetCallHistory() []MockCallRecord
- func (m *MockRedisOp) GetCallsByCommand(command string) []MockCallRecord
- func (m *MockRedisOp) GetLastCall() *MockCallRecord
- func (m *MockRedisOp) GetRange(key interface{}, start, end int64) *RedisResponse
- func (m *MockRedisOp) HDel(key interface{}, field ...interface{}) *RedisResponse
- func (m *MockRedisOp) HExists(key, field interface{}) *RedisResponse
- func (m *MockRedisOp) HGet(key, field interface{}) *RedisResponse
- func (m *MockRedisOp) HGetAll(key interface{}) *RedisResponse
- func (m *MockRedisOp) HIncrBy(key interface{}, field interface{}, val int64) *RedisResponse
- func (m *MockRedisOp) HKeys(key interface{}) *RedisResponse
- func (m *MockRedisOp) HLen(key interface{}) *RedisResponse
- func (m *MockRedisOp) HMGet(key interface{}, field ...interface{}) *RedisResponse
- func (m *MockRedisOp) HMSet(key interface{}, val map[interface{}]interface{}) *RedisResponse
- func (m *MockRedisOp) HScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (m *MockRedisOp) HSet(key, field, val interface{}) *RedisResponse
- func (m *MockRedisOp) HSetNX(key, field, val interface{}) *RedisResponse
- func (m *MockRedisOp) HVals(key interface{}) *RedisResponse
- func (m *MockRedisOp) IdleCount() int
- func (m *MockRedisOp) Incr(key interface{}) *RedisResponse
- func (m *MockRedisOp) IncrBy(key interface{}, val int64) *RedisResponse
- func (m *MockRedisOp) Keys(key interface{}) *RedisResponse
- func (m *MockRedisOp) LIndex(key interface{}, index int64) *RedisResponse
- func (m *MockRedisOp) LInsert(key interface{}, where string, pivot, element interface{}) *RedisResponse
- func (m *MockRedisOp) LLen(key interface{}) *RedisResponse
- func (m *MockRedisOp) LMPop(count int64, where string, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) LMove(source, destination interface{}, srcWhere, dstWhere string) *RedisResponse
- func (m *MockRedisOp) LPop(key interface{}) *RedisResponse
- func (m *MockRedisOp) LPos(key, element interface{}) *RedisResponse
- func (m *MockRedisOp) LPush(key interface{}, val ...interface{}) *RedisResponse
- func (m *MockRedisOp) LPushX(key interface{}, val ...interface{}) *RedisResponse
- func (m *MockRedisOp) LRange(key interface{}, start, stop int64) *RedisResponse
- func (m *MockRedisOp) LRem(key interface{}, count int64, element interface{}) *RedisResponse
- func (m *MockRedisOp) LSet(key interface{}, index int64, element interface{}) *RedisResponse
- func (m *MockRedisOp) LTrim(key interface{}, start, stop int64) *RedisResponse
- func (m *MockRedisOp) MSetNX(keyvals ...interface{}) *RedisResponse
- func (m *MockRedisOp) Meta() secret.RedisMeta
- func (m *MockRedisOp) PTTL(key interface{}) *RedisResponse
- func (m *MockRedisOp) Persist(key interface{}) *RedisResponse
- func (m *MockRedisOp) Ping() *RedisResponse
- func (m *MockRedisOp) Pipeline(cmds ...RedisPipelineCmd) []*RedisResponse
- func (m *MockRedisOp) Pool() *redis.Pool
- func (m *MockRedisOp) Publish(key interface{}, val interface{}) *RedisResponse
- func (m *MockRedisOp) RPop(key interface{}) *RedisResponse
- func (m *MockRedisOp) RPopLPush(source, destination interface{}) *RedisResponse
- func (m *MockRedisOp) RPush(key interface{}, val ...interface{}) *RedisResponse
- func (m *MockRedisOp) RPushX(key interface{}, val ...interface{}) *RedisResponse
- func (m *MockRedisOp) RandomKey() *RedisResponse
- func (m *MockRedisOp) Rename(oldKey, newKey interface{}) *RedisResponse
- func (m *MockRedisOp) RenameNX(oldKey, newKey interface{}) *RedisResponse
- func (m *MockRedisOp) Reset()
- func (m *MockRedisOp) SAdd(key interface{}, member ...interface{}) *RedisResponse
- func (m *MockRedisOp) SCard(key interface{}) *RedisResponse
- func (m *MockRedisOp) SDiff(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SDiffStore(destination interface{}, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SInter(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SInterCard(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SInterStore(destination interface{}, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SIsMember(key, member interface{}) *RedisResponse
- func (m *MockRedisOp) SMIsMember(key interface{}, member ...interface{}) *RedisResponse
- func (m *MockRedisOp) SMembers(key interface{}) *RedisResponse
- func (m *MockRedisOp) SMove(source, destination, member interface{}) *RedisResponse
- func (m *MockRedisOp) SPop(key interface{}) *RedisResponse
- func (m *MockRedisOp) SRandMember(key interface{}) *RedisResponse
- func (m *MockRedisOp) SRem(key interface{}, member ...interface{}) *RedisResponse
- func (m *MockRedisOp) SScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (m *MockRedisOp) SUnion(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) SUnionStore(destination interface{}, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) Scan(cursor int64, match string, count int64) *RedisResponse
- func (m *MockRedisOp) Set(key interface{}, val interface{}) *RedisResponse
- func (m *MockRedisOp) SetActiveCount(count int)
- func (m *MockRedisOp) SetConditionalResponse(cmd string, condition MockConditionFunc, response MockResponse)
- func (m *MockRedisOp) SetDefaultError(err error)
- func (m *MockRedisOp) SetExpire(key interface{}, val interface{}, ttl int64) *RedisResponse
- func (m *MockRedisOp) SetIdleCount(count int)
- func (m *MockRedisOp) SetMeta(meta secret.RedisMeta)
- func (m *MockRedisOp) SetNX(key interface{}, val interface{}) *RedisResponse
- func (m *MockRedisOp) SetRange(key interface{}, offset int64, val interface{}) *RedisResponse
- func (m *MockRedisOp) SetResponse(cmd string, keyPattern string, data interface{}, err error)
- func (m *MockRedisOp) SetSequentialResponses(cmd string, keyPattern string, responses []MockResponse)
- func (m *MockRedisOp) SetWithOptions(key interface{}, val interface{}, opts SetOptions) *RedisResponse
- func (m *MockRedisOp) StrLen(key interface{}) *RedisResponse
- func (m *MockRedisOp) TTL(key interface{}) *RedisResponse
- func (m *MockRedisOp) Touch(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) Type(key interface{}) *RedisResponse
- func (m *MockRedisOp) Unlink(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZAdd(key interface{}, score float64, member interface{}, pairs ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZCard(key interface{}) *RedisResponse
- func (m *MockRedisOp) ZCount(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZDiff(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZDiffStore(destination interface{}, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZIncrBy(key interface{}, increment float64, member interface{}) *RedisResponse
- func (m *MockRedisOp) ZInter(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZInterCard(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZInterStore(destination interface{}, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZLexCount(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZMPop(count int64, where string, key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZMScore(key interface{}, member ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZPopMax(key interface{}) *RedisResponse
- func (m *MockRedisOp) ZPopMin(key interface{}) *RedisResponse
- func (m *MockRedisOp) ZRandMember(key interface{}) *RedisResponse
- func (m *MockRedisOp) ZRange(key interface{}, start, stop int64) *RedisResponse
- func (m *MockRedisOp) ZRangeByLex(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZRangeByScore(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZRangeStore(dst interface{}, src interface{}, min, max int64) *RedisResponse
- func (m *MockRedisOp) ZRank(key, member interface{}) *RedisResponse
- func (m *MockRedisOp) ZRem(key interface{}, member ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZRemRangeByLex(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZRemRangeByRank(key interface{}, start, stop int64) *RedisResponse
- func (m *MockRedisOp) ZRemRangeByScore(key interface{}, min, max string) *RedisResponse
- func (m *MockRedisOp) ZRevRange(key interface{}, start, stop int64) *RedisResponse
- func (m *MockRedisOp) ZRevRangeByLex(key interface{}, max, min string) *RedisResponse
- func (m *MockRedisOp) ZRevRangeByScore(key interface{}, max, min string) *RedisResponse
- func (m *MockRedisOp) ZRevRank(key, member interface{}) *RedisResponse
- func (m *MockRedisOp) ZScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (m *MockRedisOp) ZScore(key, member interface{}) *RedisResponse
- func (m *MockRedisOp) ZUnion(key ...interface{}) *RedisResponse
- func (m *MockRedisOp) ZUnionStore(destination interface{}, key ...interface{}) *RedisResponse
- type MockResponse
- type MysqlParams
- type Redis
- type RedisOp
- func (o *RedisOp) ActiveCount() int
- func (o *RedisOp) Append(key interface{}, val interface{}) *RedisResponse
- func (o *RedisOp) Close() error
- func (o *RedisOp) Conn() redis.Conn
- func (o *RedisOp) Copy(src, dst interface{}) *RedisResponse
- func (o *RedisOp) Decr(key interface{}) *RedisResponse
- func (o *RedisOp) DecrBy(key interface{}, val int64) *RedisResponse
- func (o *RedisOp) Delete(key ...interface{}) *RedisResponse
- func (o *RedisOp) Dump(key interface{}) *RedisResponse
- func (o *RedisOp) Eval(script string, keys []interface{}, args []interface{}) *RedisResponse
- func (o *RedisOp) Exec(f func(conn redis.Conn)) error
- func (o *RedisOp) Exists(key ...interface{}) *RedisResponse
- func (o *RedisOp) Expire(key interface{}, ttl int64) *RedisResponse
- func (o *RedisOp) FlushAll() *RedisResponse
- func (o *RedisOp) FlushDB() *RedisResponse
- func (o *RedisOp) Get(key interface{}) *RedisResponse
- func (o *RedisOp) GetRange(key interface{}, start, end int64) *RedisResponse
- func (o *RedisOp) HDel(key interface{}, field ...interface{}) *RedisResponse
- func (o *RedisOp) HExists(key, field interface{}) *RedisResponse
- func (o *RedisOp) HGet(key, field interface{}) *RedisResponse
- func (o *RedisOp) HGetAll(key interface{}) *RedisResponse
- func (o *RedisOp) HIncrBy(key interface{}, field interface{}, val int64) *RedisResponse
- func (o *RedisOp) HKeys(key interface{}) *RedisResponse
- func (o *RedisOp) HLen(key interface{}) *RedisResponse
- func (o *RedisOp) HMGet(key interface{}, field ...interface{}) *RedisResponse
- func (o *RedisOp) HMSet(key interface{}, val map[interface{}]interface{}) *RedisResponse
- func (o *RedisOp) HScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (o *RedisOp) HSet(key, field, val interface{}) *RedisResponse
- func (o *RedisOp) HSetNX(key, field, val interface{}) *RedisResponse
- func (o *RedisOp) HVals(key interface{}) *RedisResponse
- func (o *RedisOp) IdleCount() int
- func (o *RedisOp) Incr(key interface{}) *RedisResponse
- func (o *RedisOp) IncrBy(key interface{}, val int64) *RedisResponse
- func (o *RedisOp) Keys(key interface{}) *RedisResponse
- func (o *RedisOp) LIndex(key interface{}, index int64) *RedisResponse
- func (o *RedisOp) LInsert(key interface{}, where string, pivot, element interface{}) *RedisResponse
- func (o *RedisOp) LLen(key interface{}) *RedisResponse
- func (o *RedisOp) LMPop(count int64, where string, key ...interface{}) *RedisResponse
- func (o *RedisOp) LMove(source, destination interface{}, srcWhere, dstWhere string) *RedisResponse
- func (o *RedisOp) LPop(key interface{}) *RedisResponse
- func (o *RedisOp) LPos(key, element interface{}) *RedisResponse
- func (o *RedisOp) LPush(key interface{}, val ...interface{}) *RedisResponse
- func (o *RedisOp) LPushX(key interface{}, val ...interface{}) *RedisResponse
- func (o *RedisOp) LRange(key interface{}, start, stop int64) *RedisResponse
- func (o *RedisOp) LRem(key interface{}, count int64, element interface{}) *RedisResponse
- func (o *RedisOp) LSet(key interface{}, index int64, element interface{}) *RedisResponse
- func (o *RedisOp) LTrim(key interface{}, start, stop int64) *RedisResponse
- func (o *RedisOp) MSetNX(keyvals ...interface{}) *RedisResponse
- func (o *RedisOp) Meta() secret.RedisMeta
- func (o *RedisOp) PTTL(key interface{}) *RedisResponse
- func (o *RedisOp) Persist(key interface{}) *RedisResponse
- func (o *RedisOp) Ping() *RedisResponse
- func (o *RedisOp) Pipeline(cmds ...RedisPipelineCmd) []*RedisResponse
- func (o *RedisOp) Pool() *redis.Pool
- func (o *RedisOp) Publish(key interface{}, val interface{}) *RedisResponse
- func (o *RedisOp) RPop(key interface{}) *RedisResponse
- func (o *RedisOp) RPopLPush(source, destination interface{}) *RedisResponse
- func (o *RedisOp) RPush(key interface{}, val ...interface{}) *RedisResponse
- func (o *RedisOp) RPushX(key interface{}, val ...interface{}) *RedisResponse
- func (o *RedisOp) RandomKey() *RedisResponse
- func (o *RedisOp) Rename(oldKey, newKey interface{}) *RedisResponse
- func (o *RedisOp) RenameNX(oldKey, newKey interface{}) *RedisResponse
- func (o *RedisOp) SAdd(key interface{}, member ...interface{}) *RedisResponse
- func (o *RedisOp) SCard(key interface{}) *RedisResponse
- func (o *RedisOp) SDiff(key ...interface{}) *RedisResponse
- func (o *RedisOp) SDiffStore(destination interface{}, key ...interface{}) *RedisResponse
- func (o *RedisOp) SInter(key ...interface{}) *RedisResponse
- func (o *RedisOp) SInterCard(key ...interface{}) *RedisResponse
- func (o *RedisOp) SInterStore(destination interface{}, key ...interface{}) *RedisResponse
- func (o *RedisOp) SIsMember(key, member interface{}) *RedisResponse
- func (o *RedisOp) SMIsMember(key interface{}, member ...interface{}) *RedisResponse
- func (o *RedisOp) SMembers(key interface{}) *RedisResponse
- func (o *RedisOp) SMove(source, destination, member interface{}) *RedisResponse
- func (o *RedisOp) SPop(key interface{}) *RedisResponse
- func (o *RedisOp) SRandMember(key interface{}) *RedisResponse
- func (o *RedisOp) SRem(key interface{}, member ...interface{}) *RedisResponse
- func (o *RedisOp) SScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (o *RedisOp) SUnion(key ...interface{}) *RedisResponse
- func (o *RedisOp) SUnionStore(destination interface{}, key ...interface{}) *RedisResponse
- func (o *RedisOp) Scan(cursor int64, match string, count int64) *RedisResponse
- func (o *RedisOp) Set(key interface{}, val interface{}) *RedisResponse
- func (o *RedisOp) SetExpire(key interface{}, val interface{}, ttl int64) *RedisResponse
- func (o *RedisOp) SetNX(key interface{}, val interface{}) *RedisResponse
- func (o *RedisOp) SetRange(key interface{}, offset int64, val interface{}) *RedisResponse
- func (o *RedisOp) SetWithOptions(key interface{}, val interface{}, opts SetOptions) *RedisResponse
- func (o *RedisOp) StrLen(key interface{}) *RedisResponse
- func (o *RedisOp) TTL(key interface{}) *RedisResponse
- func (o *RedisOp) Touch(key ...interface{}) *RedisResponse
- func (o *RedisOp) Type(key interface{}) *RedisResponse
- func (o *RedisOp) Unlink(key ...interface{}) *RedisResponse
- func (o *RedisOp) ZAdd(key interface{}, score float64, member interface{}, pairs ...interface{}) *RedisResponse
- func (o *RedisOp) ZCard(key interface{}) *RedisResponse
- func (o *RedisOp) ZCount(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZDiff(key ...interface{}) *RedisResponse
- func (o *RedisOp) ZDiffStore(destination interface{}, key ...interface{}) *RedisResponse
- func (o *RedisOp) ZIncrBy(key interface{}, increment float64, member interface{}) *RedisResponse
- func (o *RedisOp) ZInter(key ...interface{}) *RedisResponse
- func (o *RedisOp) ZInterCard(key ...interface{}) *RedisResponse
- func (o *RedisOp) ZInterStore(destination interface{}, key ...interface{}) *RedisResponse
- func (o *RedisOp) ZLexCount(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZMPop(count int64, where string, key ...interface{}) *RedisResponse
- func (o *RedisOp) ZMScore(key interface{}, member ...interface{}) *RedisResponse
- func (o *RedisOp) ZPopMax(key interface{}) *RedisResponse
- func (o *RedisOp) ZPopMin(key interface{}) *RedisResponse
- func (o *RedisOp) ZRandMember(key interface{}) *RedisResponse
- func (o *RedisOp) ZRange(key interface{}, start, stop int64) *RedisResponse
- func (o *RedisOp) ZRangeByLex(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZRangeByScore(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZRangeStore(dst interface{}, src interface{}, min, max int64) *RedisResponse
- func (o *RedisOp) ZRank(key, member interface{}) *RedisResponse
- func (o *RedisOp) ZRem(key interface{}, member ...interface{}) *RedisResponse
- func (o *RedisOp) ZRemRangeByLex(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZRemRangeByRank(key interface{}, start, stop int64) *RedisResponse
- func (o *RedisOp) ZRemRangeByScore(key interface{}, min, max string) *RedisResponse
- func (o *RedisOp) ZRevRange(key interface{}, start, stop int64) *RedisResponse
- func (o *RedisOp) ZRevRangeByLex(key interface{}, max, min string) *RedisResponse
- func (o *RedisOp) ZRevRangeByScore(key interface{}, max, min string) *RedisResponse
- func (o *RedisOp) ZRevRank(key, member interface{}) *RedisResponse
- func (o *RedisOp) ZScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
- func (o *RedisOp) ZScore(key, member interface{}) *RedisResponse
- func (o *RedisOp) ZUnion(key ...interface{}) *RedisResponse
- func (o *RedisOp) ZUnionStore(destination interface{}, key ...interface{}) *RedisResponse
- type RedisOperator
- type RedisPipelineCmd
- type RedisResponse
- type RedisResponseEntity
- type SetOptions
Constants ¶
This section is empty.
Variables ¶
var DefaultDatabaseCharset = ""
Params ref: https://gorm.io/docs/connecting_to_the_database.html
var DefaultDatabaseClientFoundRows = false
var DefaultDatabaseCollation = "utf8mb4_general_ci"
var DefaultDatabaseConnMaxIdleTime = 0
var DefaultDatabaseConnMaxLifetime = 20000
var DefaultDatabaseDialTimeout = "3s"
var DefaultDatabaseLoc = "Local"
var DefaultDatabaseMaxAllowedPacket = 25165824
var DefaultDatabaseMaxIdleConn = 2
var DefaultDatabaseMaxOpenConn = 4
var DefaultDatabaseMultiStatements = false
var DefaultDatabaseParseTime = true
var DefaultDatabasePostgresSSLMode = "disable"
var DefaultDatabasePostgresTimeZone = "Local"
var DefaultDatabaseReadTimeout = "30s"
var DefaultDatabaseWriteTimeout = "30s"
var DefaultRedisDialTimeout = 1000
DefaultRedisDialTimeout is the dial timeout in milliseconds used when creating new Redis connections.
var DefaultRedisIdleTimeout = 60000
DefaultRedisIdleTimeout is the idle connection timeout in milliseconds before an idle connection is closed.
var DefaultRedisMaxActive = 0
DefaultRedisMaxActive is the maximum number of active connections allowed in the pool (0 means unlimited).
var DefaultRedisMaxConnLifetime = 0
DefaultRedisMaxConnLifetime is the maximum lifetime in milliseconds for a connection before it is closed.
var DefaultRedisMaxIdle = 20
DefaultRedisMaxIdle is the maximum number of idle connections kept in the pool.
var DefaultRedisWait = false
DefaultRedisWait controls whether Get() waits for a connection when the pool is exhausted.
var RedisNotFound = fmt.Errorf("not_found")
RedisNotFound is returned when a key or record does not exist (nil reply).
Functions ¶
This section is empty.
Types ¶
type Cassandra ¶
type Cassandra struct {
// contains filtered or unexported fields
}
Cassandra represents a Cassandra database connection with separate read and write operations. It maintains separate connection pools for read and write operations to support different consistency requirements and potentially different endpoints.
func NewCassandra ¶
NewCassandra creates a new Cassandra connection handler with the specified profile. Returns nil if the profile name is empty or if loading the profile fails.
func NewMockCassandra ¶ added in v1.2.0
func NewMockCassandra() *Cassandra
NewMockCassandra creates a Cassandra instance with mock operators.
func NewMockCassandraWithOps ¶ added in v1.2.0
func NewMockCassandraWithOps(writer, reader *MockCassandraOp) *Cassandra
NewMockCassandraWithOps creates a Cassandra instance with custom mock operators.
func (*Cassandra) Close ¶
func (c *Cassandra) Close()
Close closes all active sessions (both reader and writer).
func (*Cassandra) Reader ¶
func (c *Cassandra) Reader() CassandraOperator
Reader returns the CassandraOperator configured for read operations.
func (*Cassandra) Writer ¶
func (c *Cassandra) Writer() CassandraOperator
Writer returns the CassandraOperator configured for write operations.
type CassandraColumnMetadata ¶ added in v1.1.9
type CassandraColumnMetadata struct {
Columns map[string]CassandraColumnMetadataColumn
// contains filtered or unexported fields
}
func (*CassandraColumnMetadata) ClusteringKeys ¶ added in v1.1.9
func (c *CassandraColumnMetadata) ClusteringKeys() (keys []string)
func (*CassandraColumnMetadata) KeyspaceName ¶ added in v1.1.9
func (c *CassandraColumnMetadata) KeyspaceName() string
func (*CassandraColumnMetadata) PartitionKeys ¶ added in v1.1.9
func (c *CassandraColumnMetadata) PartitionKeys() (keys []string)
func (*CassandraColumnMetadata) TableName ¶ added in v1.1.9
func (c *CassandraColumnMetadata) TableName() string
type CassandraColumnMetadataColumn ¶ added in v1.1.9
func (*CassandraColumnMetadataColumn) IsClusteringKey ¶ added in v1.1.9
func (c *CassandraColumnMetadataColumn) IsClusteringKey() bool
func (*CassandraColumnMetadataColumn) IsPartitionKey ¶ added in v1.1.9
func (c *CassandraColumnMetadataColumn) IsPartitionKey() bool
type CassandraOp ¶
type CassandraOp struct {
MaxRetryAttempt int
// contains filtered or unexported fields
}
CassandraOp represents operations for a Cassandra database connection.
func (*CassandraOp) Attempt ¶ added in v1.1.6
func (c *CassandraOp) Attempt(query gocql.RetryableQuery) bool
func (*CassandraOp) Close ¶
func (c *CassandraOp) Close()
Close safely closes the current session if it exists.
func (*CassandraOp) ColumnsMetadata ¶ added in v1.1.9
func (c *CassandraOp) ColumnsMetadata() map[string]CassandraColumnMetadata
func (*CassandraOp) Config ¶
func (c *CassandraOp) Config() *gocql.ClusterConfig
Config returns the underlying gocql cluster configuration.
func (*CassandraOp) GetRetryType ¶ added in v1.1.6
func (c *CassandraOp) GetRetryType(err error) gocql.RetryType
func (*CassandraOp) Keyspace ¶ added in v1.1.6
func (c *CassandraOp) Keyspace() string
func (*CassandraOp) NewSession ¶
func (c *CassandraOp) NewSession() (*gocql.Session, error)
NewSession creates and returns a new Cassandra session. Returns nil if session creation fails.
func (*CassandraOp) ObserveConnect ¶ added in v1.1.6
func (c *CassandraOp) ObserveConnect(connect gocql.ObservedConnect)
func (*CassandraOp) Session ¶
func (c *CassandraOp) Session() *gocql.Session
Session returns the current Cassandra session, creating it if it doesn't exist. Uses double-checked locking pattern for thread safety.
func (*CassandraOp) SetMaxRetryAttempt ¶ added in v1.2.0
func (c *CassandraOp) SetMaxRetryAttempt(maxRetry int)
SetMaxRetryAttempt sets the maximum retry attempts for testing purposes
type CassandraOperator ¶ added in v1.2.0
type CassandraOperator interface {
// Session management
Session() *gocql.Session
NewSession() (*gocql.Session, error)
Close()
Exec(f func(session *gocql.Session)) error
// Configuration access
Keyspace() string
Config() *gocql.ClusterConfig
ColumnsMetadata() map[string]CassandraColumnMetadata
// Configuration setters for testing
SetMaxRetryAttempt(maxRetry int)
}
CassandraOperator defines the interface for Cassandra operations. This interface allows for both real and mock implementations, enabling comprehensive unit testing while maintaining API compatibility.
type CassandraProvider ¶ added in v1.2.0
type CassandraProvider interface {
Writer() CassandraOperator
Reader() CassandraOperator
Profile() secret.Cassandra
Close()
}
CassandraProvider defines the interface for Cassandra instances. This allows both real and mock Cassandra implementations.
type ConnParams ¶
type ConnParams struct {
Charset string
Timeout string
ReadTimeout string
WriteTimeout string
Collation string
Loc string
ClientFoundRows bool
ParseTime bool
MultiStatements bool
MaxAllowedPacket int
MaxOpenConn int
MaxIdleConn int
ConnMaxLifetime int
ConnMaxIdleTime int
SSLMode string
TimeZone string
}
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
func NewDatabase ¶
func NewMockDatabase ¶ added in v1.2.0
func NewMockDatabase() *Database
NewMockDatabase creates a Database instance with mock operators.
func NewMockDatabaseWithOps ¶ added in v1.2.0
func NewMockDatabaseWithOps(writer, reader *MockDatabaseOp) *Database
NewMockDatabaseWithOps creates a Database instance with custom mock operators.
func (*Database) Reader ¶
func (k *Database) Reader() DatabaseOperator
func (*Database) Writer ¶
func (k *Database) Writer() DatabaseOperator
type DatabaseOp ¶
type DatabaseOp struct {
ConnParams ConnParams
MysqlParams MysqlParams
GORMParams gorm.Config
Logger logger.Interface
// contains filtered or unexported fields
}
func (*DatabaseOp) Adapter ¶
func (o *DatabaseOp) Adapter() string
func (*DatabaseOp) DB ¶
func (o *DatabaseOp) DB() *gorm.DB
func (*DatabaseOp) GetConnParams ¶ added in v1.2.0
func (o *DatabaseOp) GetConnParams() ConnParams
GetConnParams returns the current connection parameters
func (*DatabaseOp) GetGORMParams ¶ added in v1.2.0
func (o *DatabaseOp) GetGORMParams() gorm.Config
GetGORMParams returns the current GORM configuration
func (*DatabaseOp) GetLogger ¶ added in v1.2.0
func (o *DatabaseOp) GetLogger() logger.Interface
GetLogger returns the current logger interface
func (*DatabaseOp) GetMysqlParams ¶ added in v1.2.0
func (o *DatabaseOp) GetMysqlParams() MysqlParams
GetMysqlParams returns the current MySQL-specific parameters
func (*DatabaseOp) Meta ¶ added in v1.2.0
func (o *DatabaseOp) Meta() secret.DatabaseMeta
Meta returns the database metadata
func (*DatabaseOp) SetConnParams ¶ added in v1.2.0
func (o *DatabaseOp) SetConnParams(params ConnParams)
SetConnParams sets the connection parameters
func (*DatabaseOp) SetGORMParams ¶ added in v1.2.0
func (o *DatabaseOp) SetGORMParams(config gorm.Config)
SetGORMParams sets the GORM configuration
func (*DatabaseOp) SetLogger ¶ added in v1.2.0
func (o *DatabaseOp) SetLogger(logger logger.Interface)
SetLogger sets the logger interface
func (*DatabaseOp) SetMysqlParams ¶ added in v1.2.0
func (o *DatabaseOp) SetMysqlParams(params MysqlParams)
SetMysqlParams sets the MySQL-specific parameters
type DatabaseOperator ¶ added in v1.2.0
type DatabaseOperator interface {
// Core database access
DB() *gorm.DB
Adapter() string
// Configuration access
GetConnParams() ConnParams
GetMysqlParams() MysqlParams
GetGORMParams() gorm.Config
GetLogger() logger.Interface
Meta() secret.DatabaseMeta
// Configuration setters
SetConnParams(params ConnParams)
SetMysqlParams(params MysqlParams)
SetGORMParams(config gorm.Config)
SetLogger(logger logger.Interface)
}
DatabaseOperator defines the interface for database operations. This interface allows for both real and mock implementations, enabling comprehensive unit testing while maintaining API compatibility.
type DatabaseProvider ¶ added in v1.2.0
type DatabaseProvider interface {
Writer() DatabaseOperator
Reader() DatabaseOperator
}
DatabaseProvider defines the interface for Database instances. This allows both real and mock Database implementations.
type MockCallRecord ¶ added in v1.2.0
type MockCallRecord struct {
Timestamp time.Time
Command string
Args []interface{}
Response interface{}
Error error
}
MockCallRecord represents a single Redis command call record for testing verification.
type MockCassandraBuilder ¶ added in v1.2.0
type MockCassandraBuilder struct {
// contains filtered or unexported fields
}
MockCassandraBuilder provides a fluent interface for building mock Cassandra instances.
func NewMockCassandraBuilder ¶ added in v1.2.0
func NewMockCassandraBuilder() *MockCassandraBuilder
NewMockCassandraBuilder creates a new builder for mock Cassandra instances.
func (*MockCassandraBuilder) Build ¶ added in v1.2.0
func (b *MockCassandraBuilder) Build() *Cassandra
Build creates the mock Cassandra instance.
func (*MockCassandraBuilder) WithName ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithName(name string) *MockCassandraBuilder
WithName sets the instance name.
func (*MockCassandraBuilder) WithProfile ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithProfile(profile secret.Cassandra) *MockCassandraBuilder
WithProfile sets the Cassandra profile.
func (*MockCassandraBuilder) WithReaderKeyspace ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithReaderKeyspace(keyspace string) *MockCassandraBuilder
WithReaderKeyspace sets the reader's keyspace.
func (*MockCassandraBuilder) WithReaderSession ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithReaderSession(session *gocql.Session) *MockCassandraBuilder
WithReaderSession sets the reader's mock session.
func (*MockCassandraBuilder) WithWriterKeyspace ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithWriterKeyspace(keyspace string) *MockCassandraBuilder
WithWriterKeyspace sets the writer's keyspace.
func (*MockCassandraBuilder) WithWriterSession ¶ added in v1.2.0
func (b *MockCassandraBuilder) WithWriterSession(session *gocql.Session) *MockCassandraBuilder
WithWriterSession sets the writer's mock session.
type MockCassandraCall ¶ added in v1.2.0
type MockCassandraCall struct {
Timestamp time.Time
Method string
Args []interface{}
Result interface{}
Error error
}
MockCassandraCall represents a recorded Cassandra operation call.
type MockCassandraOp ¶ added in v1.2.0
type MockCassandraOp struct {
// contains filtered or unexported fields
}
MockCassandraOp is a mock implementation of CassandraOperator for testing. It provides configurable responses and tracks all operations for test verification.
func NewMockCassandraOp ¶ added in v1.2.0
func NewMockCassandraOp() *MockCassandraOp
NewMockCassandraOp creates a new mock Cassandra operator with default settings.
func (*MockCassandraOp) ClearCallHistory ¶ added in v1.2.0
func (m *MockCassandraOp) ClearCallHistory()
ClearCallHistory resets all recorded calls.
func (*MockCassandraOp) Close ¶ added in v1.2.0
func (m *MockCassandraOp) Close()
Close simulates closing the session.
func (*MockCassandraOp) ColumnsMetadata ¶ added in v1.2.0
func (m *MockCassandraOp) ColumnsMetadata() map[string]CassandraColumnMetadata
ColumnsMetadata returns the configured column metadata.
func (*MockCassandraOp) Config ¶ added in v1.2.0
func (m *MockCassandraOp) Config() *gocql.ClusterConfig
Config returns the mock cluster configuration.
func (*MockCassandraOp) Exec ¶ added in v1.2.0
func (m *MockCassandraOp) Exec(f func(session *gocql.Session)) error
Exec executes a function with the mock session.
func (*MockCassandraOp) GetCallHistory ¶ added in v1.2.0
func (m *MockCassandraOp) GetCallHistory() []MockCassandraCall
GetCallHistory returns all recorded method calls.
func (*MockCassandraOp) GetCallsByMethod ¶ added in v1.2.0
func (m *MockCassandraOp) GetCallsByMethod(method string) []MockCassandraCall
GetCallsByMethod returns calls filtered by method name.
func (*MockCassandraOp) IsSessionClosed ¶ added in v1.2.0
func (m *MockCassandraOp) IsSessionClosed() bool
IsSessionClosed returns whether the session was closed.
func (*MockCassandraOp) Keyspace ¶ added in v1.2.0
func (m *MockCassandraOp) Keyspace() string
Keyspace returns the configured keyspace name.
func (*MockCassandraOp) NewSession ¶ added in v1.2.0
func (m *MockCassandraOp) NewSession() (*gocql.Session, error)
NewSession creates a new mock session.
func (*MockCassandraOp) Session ¶ added in v1.2.0
func (m *MockCassandraOp) Session() *gocql.Session
Session returns the configured mock session.
func (*MockCassandraOp) SetColumnsMetadata ¶ added in v1.2.0
func (m *MockCassandraOp) SetColumnsMetadata(metadata map[string]CassandraColumnMetadata)
SetColumnsMetadata sets the column metadata.
func (*MockCassandraOp) SetConfig ¶ added in v1.2.0
func (m *MockCassandraOp) SetConfig(config *gocql.ClusterConfig)
SetConfig sets the cluster configuration.
func (*MockCassandraOp) SetExecError ¶ added in v1.2.0
func (m *MockCassandraOp) SetExecError(err error)
SetExecError configures the Exec() method to return an error.
func (*MockCassandraOp) SetKeyspace ¶ added in v1.2.0
func (m *MockCassandraOp) SetKeyspace(keyspace string)
SetKeyspace sets the keyspace name.
func (*MockCassandraOp) SetMaxRetryAttempt ¶ added in v1.2.0
func (m *MockCassandraOp) SetMaxRetryAttempt(maxRetry int)
SetMaxRetryAttempt sets the maximum retry attempts.
func (*MockCassandraOp) SetMockSession ¶ added in v1.2.0
func (m *MockCassandraOp) SetMockSession(session *gocql.Session)
SetMockSession sets the mock session to return.
func (*MockCassandraOp) SetNewSessionResponse ¶ added in v1.2.0
func (m *MockCassandraOp) SetNewSessionResponse(session *gocql.Session, err error)
SetNewSessionResponse configures the NewSession() method response.
func (*MockCassandraOp) SetReturnNilSession ¶ added in v1.2.0
func (m *MockCassandraOp) SetReturnNilSession(returnNil bool)
SetReturnNilSession configures Session() to always return nil.
func (*MockCassandraOp) SetSessionResponse ¶ added in v1.2.0
func (m *MockCassandraOp) SetSessionResponse(session *gocql.Session, err error)
SetSessionResponse configures the Session() method response.
func (*MockCassandraOp) SimulateFailure ¶ added in v1.2.0
func (m *MockCassandraOp) SimulateFailure(fail bool)
SimulateFailure configures methods to simulate failures.
type MockConditionFunc ¶ added in v1.2.0
MockConditionFunc defines a function that determines if a condition matches for conditional responses.
type MockConditionRule ¶ added in v1.2.0
type MockConditionRule struct {
Command string
Condition MockConditionFunc
Response MockResponse
}
MockConditionRule represents a conditional response rule.
type MockDatabaseBuilder ¶ added in v1.2.0
type MockDatabaseBuilder struct {
// contains filtered or unexported fields
}
MockDatabaseBuilder provides a fluent interface for building mock Database instances.
func NewMockDatabaseBuilder ¶ added in v1.2.0
func NewMockDatabaseBuilder() *MockDatabaseBuilder
NewMockDatabaseBuilder creates a new builder for mock Database instances.
func (*MockDatabaseBuilder) Build ¶ added in v1.2.0
func (b *MockDatabaseBuilder) Build() *Database
Build creates the mock Database instance.
func (*MockDatabaseBuilder) WithReaderAdapter ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithReaderAdapter(adapter string) *MockDatabaseBuilder
WithReaderAdapter sets the reader's adapter.
func (*MockDatabaseBuilder) WithReaderDB ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithReaderDB(db *gorm.DB) *MockDatabaseBuilder
WithReaderDB sets the reader's mock database.
func (*MockDatabaseBuilder) WithReaderMeta ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithReaderMeta(meta secret.DatabaseMeta) *MockDatabaseBuilder
WithReaderMeta sets the reader's metadata.
func (*MockDatabaseBuilder) WithWriterAdapter ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithWriterAdapter(adapter string) *MockDatabaseBuilder
WithWriterAdapter sets the writer's adapter.
func (*MockDatabaseBuilder) WithWriterDB ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithWriterDB(db *gorm.DB) *MockDatabaseBuilder
WithWriterDB sets the writer's mock database.
func (*MockDatabaseBuilder) WithWriterMeta ¶ added in v1.2.0
func (b *MockDatabaseBuilder) WithWriterMeta(meta secret.DatabaseMeta) *MockDatabaseBuilder
WithWriterMeta sets the writer's metadata.
type MockDatabaseCall ¶ added in v1.2.0
type MockDatabaseCall struct {
Timestamp time.Time
Method string
Args []interface{}
Result interface{}
Error error
}
MockDatabaseCall represents a recorded database operation call.
type MockDatabaseOp ¶ added in v1.2.0
type MockDatabaseOp struct {
// contains filtered or unexported fields
}
MockDatabaseOp is a mock implementation of DatabaseOperator for testing. It provides configurable responses and tracks all operations for test verification.
func NewMockDatabaseOp ¶ added in v1.2.0
func NewMockDatabaseOp() *MockDatabaseOp
NewMockDatabaseOp creates a new mock database operator with default settings.
func (*MockDatabaseOp) Adapter ¶ added in v1.2.0
func (m *MockDatabaseOp) Adapter() string
Adapter returns the configured adapter name.
func (*MockDatabaseOp) ClearCallHistory ¶ added in v1.2.0
func (m *MockDatabaseOp) ClearCallHistory()
ClearCallHistory resets all recorded calls.
func (*MockDatabaseOp) DB ¶ added in v1.2.0
func (m *MockDatabaseOp) DB() *gorm.DB
DB returns the configured mock database instance.
func (*MockDatabaseOp) GetCallHistory ¶ added in v1.2.0
func (m *MockDatabaseOp) GetCallHistory() []MockDatabaseCall
GetCallHistory returns all recorded method calls.
func (*MockDatabaseOp) GetCallsByMethod ¶ added in v1.2.0
func (m *MockDatabaseOp) GetCallsByMethod(method string) []MockDatabaseCall
GetCallsByMethod returns calls filtered by method name.
func (*MockDatabaseOp) GetConnParams ¶ added in v1.2.0
func (m *MockDatabaseOp) GetConnParams() ConnParams
GetConnParams returns the connection parameters.
func (*MockDatabaseOp) GetDBCallCount ¶ added in v1.2.0
func (m *MockDatabaseOp) GetDBCallCount() int
GetDBCallCount returns the number of times DB() was called.
func (*MockDatabaseOp) GetGORMParams ¶ added in v1.2.0
func (m *MockDatabaseOp) GetGORMParams() gorm.Config
GetGORMParams returns the GORM configuration.
func (*MockDatabaseOp) GetLogger ¶ added in v1.2.0
func (m *MockDatabaseOp) GetLogger() logger.Interface
GetLogger returns the logger interface.
func (*MockDatabaseOp) GetMysqlParams ¶ added in v1.2.0
func (m *MockDatabaseOp) GetMysqlParams() MysqlParams
GetMysqlParams returns the MySQL-specific parameters.
func (*MockDatabaseOp) Meta ¶ added in v1.2.0
func (m *MockDatabaseOp) Meta() secret.DatabaseMeta
Meta returns the database metadata.
func (*MockDatabaseOp) SetAdapterResponse ¶ added in v1.2.0
func (m *MockDatabaseOp) SetAdapterResponse(adapter string)
SetAdapterResponse sets the adapter name to return.
func (*MockDatabaseOp) SetConnParams ¶ added in v1.2.0
func (m *MockDatabaseOp) SetConnParams(params ConnParams)
SetConnParams sets the connection parameters.
func (*MockDatabaseOp) SetDBResponse ¶ added in v1.2.0
func (m *MockDatabaseOp) SetDBResponse(db *gorm.DB, err error)
SetDBResponse configures the DB() method to return specific response.
func (*MockDatabaseOp) SetGORMParams ¶ added in v1.2.0
func (m *MockDatabaseOp) SetGORMParams(config gorm.Config)
SetGORMParams sets the GORM configuration.
func (*MockDatabaseOp) SetLogger ¶ added in v1.2.0
func (m *MockDatabaseOp) SetLogger(logger logger.Interface)
SetLogger sets the logger interface.
func (*MockDatabaseOp) SetMeta ¶ added in v1.2.0
func (m *MockDatabaseOp) SetMeta(meta secret.DatabaseMeta)
SetMeta sets the database metadata.
func (*MockDatabaseOp) SetMockDB ¶ added in v1.2.0
func (m *MockDatabaseOp) SetMockDB(db *gorm.DB)
SetMockDB sets the mock database instance to return.
func (*MockDatabaseOp) SetMysqlParams ¶ added in v1.2.0
func (m *MockDatabaseOp) SetMysqlParams(params MysqlParams)
SetMysqlParams sets the MySQL-specific parameters.
func (*MockDatabaseOp) SetReturnNilDB ¶ added in v1.2.0
func (m *MockDatabaseOp) SetReturnNilDB(returnNil bool)
SetReturnNilDB configures DB() to always return nil.
func (*MockDatabaseOp) SimulateDBFailure ¶ added in v1.2.0
func (m *MockDatabaseOp) SimulateDBFailure(fail bool)
SimulateDBFailure configures DB() to return nil (simulating connection failure).
type MockRedisBuilder ¶ added in v1.2.0
type MockRedisBuilder struct {
// contains filtered or unexported fields
}
MockRedisBuilder provides a fluent interface for configuring mock Redis instances.
func NewMockRedisBuilder ¶ added in v1.2.0
func NewMockRedisBuilder() *MockRedisBuilder
NewMockRedisBuilder creates a new builder for configuring mock Redis instances.
func (*MockRedisBuilder) Build ¶ added in v1.2.0
func (b *MockRedisBuilder) Build() *Redis
Build creates the configured Redis instance.
func (*MockRedisBuilder) GetMasterMock ¶ added in v1.2.0
func (b *MockRedisBuilder) GetMasterMock() *MockRedisOp
GetMasterMock returns the master mock for advanced configuration.
func (*MockRedisBuilder) GetSlaveMock ¶ added in v1.2.0
func (b *MockRedisBuilder) GetSlaveMock() *MockRedisOp
GetSlaveMock returns the slave mock for advanced configuration.
func (*MockRedisBuilder) WithConditionalResponse ¶ added in v1.2.0
func (b *MockRedisBuilder) WithConditionalResponse(cmd string, condition MockConditionFunc, response MockResponse) *MockRedisBuilder
WithConditionalResponse configures conditional responses for both master and slave.
func (*MockRedisBuilder) WithMasterResponse ¶ added in v1.2.0
func (b *MockRedisBuilder) WithMasterResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
WithMasterResponse configures a response for master operations.
func (*MockRedisBuilder) WithResponse ¶ added in v1.2.0
func (b *MockRedisBuilder) WithResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
WithResponse configures a response for both master and slave operations.
func (*MockRedisBuilder) WithSequentialResponses ¶ added in v1.2.0
func (b *MockRedisBuilder) WithSequentialResponses(cmd, key string, responses []MockResponse) *MockRedisBuilder
WithSequentialResponses configures sequential responses for both master and slave.
func (*MockRedisBuilder) WithSlaveResponse ¶ added in v1.2.0
func (b *MockRedisBuilder) WithSlaveResponse(cmd, key string, data interface{}, err error) *MockRedisBuilder
WithSlaveResponse configures a response for slave operations.
type MockRedisConn ¶ added in v1.2.0
type MockRedisConn struct{}
MockRedisConn implements redis.Conn interface for testing
func (*MockRedisConn) Close ¶ added in v1.2.0
func (c *MockRedisConn) Close() error
func (*MockRedisConn) Do ¶ added in v1.2.0
func (c *MockRedisConn) Do(commandName string, args ...interface{}) (reply interface{}, err error)
func (*MockRedisConn) Err ¶ added in v1.2.0
func (c *MockRedisConn) Err() error
func (*MockRedisConn) Flush ¶ added in v1.2.0
func (c *MockRedisConn) Flush() error
func (*MockRedisConn) Receive ¶ added in v1.2.0
func (c *MockRedisConn) Receive() (reply interface{}, err error)
func (*MockRedisConn) Send ¶ added in v1.2.0
func (c *MockRedisConn) Send(commandName string, args ...interface{}) error
type MockRedisOp ¶ added in v1.2.0
type MockRedisOp struct {
// contains filtered or unexported fields
}
MockRedisOp implements RedisOperator interface for testing purposes. It provides a full mock implementation that can simulate Redis behavior, record call history, and return configured responses.
func NewMockRedisOp ¶ added in v1.2.0
func NewMockRedisOp() *MockRedisOp
NewMockRedisOp creates a new MockRedisOp instance.
func (*MockRedisOp) ActiveCount ¶ added in v1.2.0
func (m *MockRedisOp) ActiveCount() int
func (*MockRedisOp) Append ¶ added in v1.2.0
func (m *MockRedisOp) Append(key interface{}, val interface{}) *RedisResponse
func (*MockRedisOp) ClearCallHistory ¶ added in v1.2.0
func (m *MockRedisOp) ClearCallHistory()
ClearCallHistory clears all recorded call history.
func (*MockRedisOp) Close ¶ added in v1.2.0
func (m *MockRedisOp) Close() error
func (*MockRedisOp) Conn ¶ added in v1.2.0
func (m *MockRedisOp) Conn() redis.Conn
func (*MockRedisOp) Copy ¶ added in v1.2.0
func (m *MockRedisOp) Copy(src, dst interface{}) *RedisResponse
func (*MockRedisOp) Decr ¶ added in v1.2.0
func (m *MockRedisOp) Decr(key interface{}) *RedisResponse
func (*MockRedisOp) DecrBy ¶ added in v1.2.0
func (m *MockRedisOp) DecrBy(key interface{}, val int64) *RedisResponse
func (*MockRedisOp) Delete ¶ added in v1.2.0
func (m *MockRedisOp) Delete(key ...interface{}) *RedisResponse
func (*MockRedisOp) Dump ¶ added in v1.2.0
func (m *MockRedisOp) Dump(key interface{}) *RedisResponse
func (*MockRedisOp) Eval ¶ added in v1.2.0
func (m *MockRedisOp) Eval(script string, keys []interface{}, args []interface{}) *RedisResponse
Script operations
func (*MockRedisOp) Exec ¶ added in v1.2.0
func (m *MockRedisOp) Exec(f func(conn redis.Conn)) error
func (*MockRedisOp) Exists ¶ added in v1.2.0
func (m *MockRedisOp) Exists(key ...interface{}) *RedisResponse
func (*MockRedisOp) Expire ¶ added in v1.2.0
func (m *MockRedisOp) Expire(key interface{}, ttl int64) *RedisResponse
Key operations
func (*MockRedisOp) FlushAll ¶ added in v1.2.0
func (m *MockRedisOp) FlushAll() *RedisResponse
func (*MockRedisOp) FlushDB ¶ added in v1.2.0
func (m *MockRedisOp) FlushDB() *RedisResponse
Admin operations
func (*MockRedisOp) Get ¶ added in v1.2.0
func (m *MockRedisOp) Get(key interface{}) *RedisResponse
String operations
func (*MockRedisOp) GetCallCount ¶ added in v1.2.0
func (m *MockRedisOp) GetCallCount(cmd string) int
GetCallCount returns the number of times a specific command was called.
func (*MockRedisOp) GetCallHistory ¶ added in v1.2.0
func (m *MockRedisOp) GetCallHistory() []MockCallRecord
GetCallHistory returns all recorded call history.
func (*MockRedisOp) GetCallsByCommand ¶ added in v1.2.0
func (m *MockRedisOp) GetCallsByCommand(command string) []MockCallRecord
GetCallsByCommand returns all recorded calls for a specific command.
func (*MockRedisOp) GetLastCall ¶ added in v1.2.0
func (m *MockRedisOp) GetLastCall() *MockCallRecord
GetLastCall returns the most recent call record, or nil if no calls made.
func (*MockRedisOp) GetRange ¶ added in v1.2.0
func (m *MockRedisOp) GetRange(key interface{}, start, end int64) *RedisResponse
func (*MockRedisOp) HDel ¶ added in v1.2.0
func (m *MockRedisOp) HDel(key interface{}, field ...interface{}) *RedisResponse
func (*MockRedisOp) HExists ¶ added in v1.2.0
func (m *MockRedisOp) HExists(key, field interface{}) *RedisResponse
func (*MockRedisOp) HGet ¶ added in v1.2.0
func (m *MockRedisOp) HGet(key, field interface{}) *RedisResponse
func (*MockRedisOp) HGetAll ¶ added in v1.2.0
func (m *MockRedisOp) HGetAll(key interface{}) *RedisResponse
func (*MockRedisOp) HIncrBy ¶ added in v1.2.0
func (m *MockRedisOp) HIncrBy(key interface{}, field interface{}, val int64) *RedisResponse
func (*MockRedisOp) HKeys ¶ added in v1.2.0
func (m *MockRedisOp) HKeys(key interface{}) *RedisResponse
func (*MockRedisOp) HLen ¶ added in v1.2.0
func (m *MockRedisOp) HLen(key interface{}) *RedisResponse
func (*MockRedisOp) HMGet ¶ added in v1.2.0
func (m *MockRedisOp) HMGet(key interface{}, field ...interface{}) *RedisResponse
func (*MockRedisOp) HMSet ¶ added in v1.2.0
func (m *MockRedisOp) HMSet(key interface{}, val map[interface{}]interface{}) *RedisResponse
Hash operations
func (*MockRedisOp) HScan ¶ added in v1.2.0
func (m *MockRedisOp) HScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
func (*MockRedisOp) HSet ¶ added in v1.2.0
func (m *MockRedisOp) HSet(key, field, val interface{}) *RedisResponse
func (*MockRedisOp) HSetNX ¶ added in v1.2.3
func (m *MockRedisOp) HSetNX(key, field, val interface{}) *RedisResponse
func (*MockRedisOp) HVals ¶ added in v1.2.0
func (m *MockRedisOp) HVals(key interface{}) *RedisResponse
func (*MockRedisOp) IdleCount ¶ added in v1.2.0
func (m *MockRedisOp) IdleCount() int
func (*MockRedisOp) Incr ¶ added in v1.2.0
func (m *MockRedisOp) Incr(key interface{}) *RedisResponse
func (*MockRedisOp) IncrBy ¶ added in v1.2.0
func (m *MockRedisOp) IncrBy(key interface{}, val int64) *RedisResponse
func (*MockRedisOp) Keys ¶ added in v1.2.0
func (m *MockRedisOp) Keys(key interface{}) *RedisResponse
func (*MockRedisOp) LIndex ¶ added in v1.2.0
func (m *MockRedisOp) LIndex(key interface{}, index int64) *RedisResponse
List operations
func (*MockRedisOp) LInsert ¶ added in v1.2.0
func (m *MockRedisOp) LInsert(key interface{}, where string, pivot, element interface{}) *RedisResponse
func (*MockRedisOp) LLen ¶ added in v1.2.0
func (m *MockRedisOp) LLen(key interface{}) *RedisResponse
func (*MockRedisOp) LMPop ¶ added in v1.2.0
func (m *MockRedisOp) LMPop(count int64, where string, key ...interface{}) *RedisResponse
func (*MockRedisOp) LMove ¶ added in v1.2.0
func (m *MockRedisOp) LMove(source, destination interface{}, srcWhere, dstWhere string) *RedisResponse
func (*MockRedisOp) LPop ¶ added in v1.2.0
func (m *MockRedisOp) LPop(key interface{}) *RedisResponse
func (*MockRedisOp) LPos ¶ added in v1.2.0
func (m *MockRedisOp) LPos(key, element interface{}) *RedisResponse
func (*MockRedisOp) LPush ¶ added in v1.2.0
func (m *MockRedisOp) LPush(key interface{}, val ...interface{}) *RedisResponse
func (*MockRedisOp) LPushX ¶ added in v1.2.0
func (m *MockRedisOp) LPushX(key interface{}, val ...interface{}) *RedisResponse
func (*MockRedisOp) LRange ¶ added in v1.2.0
func (m *MockRedisOp) LRange(key interface{}, start, stop int64) *RedisResponse
func (*MockRedisOp) LRem ¶ added in v1.2.0
func (m *MockRedisOp) LRem(key interface{}, count int64, element interface{}) *RedisResponse
func (*MockRedisOp) LSet ¶ added in v1.2.0
func (m *MockRedisOp) LSet(key interface{}, index int64, element interface{}) *RedisResponse
func (*MockRedisOp) LTrim ¶ added in v1.2.0
func (m *MockRedisOp) LTrim(key interface{}, start, stop int64) *RedisResponse
func (*MockRedisOp) MSetNX ¶ added in v1.2.3
func (m *MockRedisOp) MSetNX(keyvals ...interface{}) *RedisResponse
func (*MockRedisOp) Meta ¶ added in v1.2.0
func (m *MockRedisOp) Meta() secret.RedisMeta
Connection and pool management methods
func (*MockRedisOp) PTTL ¶ added in v1.2.0
func (m *MockRedisOp) PTTL(key interface{}) *RedisResponse
func (*MockRedisOp) Persist ¶ added in v1.2.0
func (m *MockRedisOp) Persist(key interface{}) *RedisResponse
func (*MockRedisOp) Ping ¶ added in v1.2.0
func (m *MockRedisOp) Ping() *RedisResponse
func (*MockRedisOp) Pipeline ¶ added in v1.2.0
func (m *MockRedisOp) Pipeline(cmds ...RedisPipelineCmd) []*RedisResponse
Pipeline operations
func (*MockRedisOp) Pool ¶ added in v1.2.0
func (m *MockRedisOp) Pool() *redis.Pool
func (*MockRedisOp) Publish ¶ added in v1.2.0
func (m *MockRedisOp) Publish(key interface{}, val interface{}) *RedisResponse
func (*MockRedisOp) RPop ¶ added in v1.2.0
func (m *MockRedisOp) RPop(key interface{}) *RedisResponse
func (*MockRedisOp) RPopLPush ¶ added in v1.2.0
func (m *MockRedisOp) RPopLPush(source, destination interface{}) *RedisResponse
func (*MockRedisOp) RPush ¶ added in v1.2.0
func (m *MockRedisOp) RPush(key interface{}, val ...interface{}) *RedisResponse
func (*MockRedisOp) RPushX ¶ added in v1.2.0
func (m *MockRedisOp) RPushX(key interface{}, val ...interface{}) *RedisResponse
func (*MockRedisOp) RandomKey ¶ added in v1.2.0
func (m *MockRedisOp) RandomKey() *RedisResponse
func (*MockRedisOp) Rename ¶ added in v1.2.0
func (m *MockRedisOp) Rename(oldKey, newKey interface{}) *RedisResponse
func (*MockRedisOp) RenameNX ¶ added in v1.2.0
func (m *MockRedisOp) RenameNX(oldKey, newKey interface{}) *RedisResponse
func (*MockRedisOp) Reset ¶ added in v1.2.0
func (m *MockRedisOp) Reset()
Reset clears all mock data including responses, history, and sequences.
func (*MockRedisOp) SAdd ¶ added in v1.2.0
func (m *MockRedisOp) SAdd(key interface{}, member ...interface{}) *RedisResponse
Set operations
func (*MockRedisOp) SCard ¶ added in v1.2.0
func (m *MockRedisOp) SCard(key interface{}) *RedisResponse
func (*MockRedisOp) SDiff ¶ added in v1.2.0
func (m *MockRedisOp) SDiff(key ...interface{}) *RedisResponse
func (*MockRedisOp) SDiffStore ¶ added in v1.2.0
func (m *MockRedisOp) SDiffStore(destination interface{}, key ...interface{}) *RedisResponse
func (*MockRedisOp) SInter ¶ added in v1.2.0
func (m *MockRedisOp) SInter(key ...interface{}) *RedisResponse
func (*MockRedisOp) SInterCard ¶ added in v1.2.0
func (m *MockRedisOp) SInterCard(key ...interface{}) *RedisResponse
func (*MockRedisOp) SInterStore ¶ added in v1.2.0
func (m *MockRedisOp) SInterStore(destination interface{}, key ...interface{}) *RedisResponse
func (*MockRedisOp) SIsMember ¶ added in v1.2.0
func (m *MockRedisOp) SIsMember(key, member interface{}) *RedisResponse
func (*MockRedisOp) SMIsMember ¶ added in v1.2.0
func (m *MockRedisOp) SMIsMember(key interface{}, member ...interface{}) *RedisResponse
func (*MockRedisOp) SMembers ¶ added in v1.2.0
func (m *MockRedisOp) SMembers(key interface{}) *RedisResponse
func (*MockRedisOp) SMove ¶ added in v1.2.0
func (m *MockRedisOp) SMove(source, destination, member interface{}) *RedisResponse
func (*MockRedisOp) SPop ¶ added in v1.2.0
func (m *MockRedisOp) SPop(key interface{}) *RedisResponse
func (*MockRedisOp) SRandMember ¶ added in v1.2.0
func (m *MockRedisOp) SRandMember(key interface{}) *RedisResponse
func (*MockRedisOp) SRem ¶ added in v1.2.0
func (m *MockRedisOp) SRem(key interface{}, member ...interface{}) *RedisResponse
func (*MockRedisOp) SScan ¶ added in v1.2.0
func (m *MockRedisOp) SScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
func (*MockRedisOp) SUnion ¶ added in v1.2.0
func (m *MockRedisOp) SUnion(key ...interface{}) *RedisResponse
func (*MockRedisOp) SUnionStore ¶ added in v1.2.0
func (m *MockRedisOp) SUnionStore(destination interface{}, key ...interface{}) *RedisResponse
func (*MockRedisOp) Scan ¶ added in v1.2.0
func (m *MockRedisOp) Scan(cursor int64, match string, count int64) *RedisResponse
func (*MockRedisOp) Set ¶ added in v1.2.0
func (m *MockRedisOp) Set(key interface{}, val interface{}) *RedisResponse
func (*MockRedisOp) SetActiveCount ¶ added in v1.2.0
func (m *MockRedisOp) SetActiveCount(count int)
SetActiveCount sets the simulated active connection count.
func (*MockRedisOp) SetConditionalResponse ¶ added in v1.2.0
func (m *MockRedisOp) SetConditionalResponse(cmd string, condition MockConditionFunc, response MockResponse)
SetConditionalResponse adds a conditional response rule.
func (*MockRedisOp) SetDefaultError ¶ added in v1.2.0
func (m *MockRedisOp) SetDefaultError(err error)
SetDefaultError sets a default error returned when no specific response is configured.
func (*MockRedisOp) SetExpire ¶ added in v1.2.0
func (m *MockRedisOp) SetExpire(key interface{}, val interface{}, ttl int64) *RedisResponse
func (*MockRedisOp) SetIdleCount ¶ added in v1.2.0
func (m *MockRedisOp) SetIdleCount(count int)
SetIdleCount sets the simulated idle connection count.
func (*MockRedisOp) SetMeta ¶ added in v1.2.0
func (m *MockRedisOp) SetMeta(meta secret.RedisMeta)
SetMeta sets the simulated Redis connection metadata.
func (*MockRedisOp) SetNX ¶ added in v1.2.3
func (m *MockRedisOp) SetNX(key interface{}, val interface{}) *RedisResponse
func (*MockRedisOp) SetRange ¶ added in v1.2.0
func (m *MockRedisOp) SetRange(key interface{}, offset int64, val interface{}) *RedisResponse
func (*MockRedisOp) SetResponse ¶ added in v1.2.0
func (m *MockRedisOp) SetResponse(cmd string, keyPattern string, data interface{}, err error)
SetResponse sets a static response for a specific command and key pattern. Pattern supports "*" as wildcard for any key.
func (*MockRedisOp) SetSequentialResponses ¶ added in v1.2.0
func (m *MockRedisOp) SetSequentialResponses(cmd string, keyPattern string, responses []MockResponse)
SetSequentialResponses sets a sequence of responses for a command and key pattern. Each call will return the next response in sequence, cycling back to start when exhausted.
func (*MockRedisOp) SetWithOptions ¶ added in v1.2.3
func (m *MockRedisOp) SetWithOptions(key interface{}, val interface{}, opts SetOptions) *RedisResponse
func (*MockRedisOp) StrLen ¶ added in v1.2.0
func (m *MockRedisOp) StrLen(key interface{}) *RedisResponse
func (*MockRedisOp) TTL ¶ added in v1.2.0
func (m *MockRedisOp) TTL(key interface{}) *RedisResponse
func (*MockRedisOp) Touch ¶ added in v1.2.0
func (m *MockRedisOp) Touch(key ...interface{}) *RedisResponse
func (*MockRedisOp) Type ¶ added in v1.2.0
func (m *MockRedisOp) Type(key interface{}) *RedisResponse
func (*MockRedisOp) Unlink ¶ added in v1.2.0
func (m *MockRedisOp) Unlink(key ...interface{}) *RedisResponse
func (*MockRedisOp) ZAdd ¶ added in v1.2.0
func (m *MockRedisOp) ZAdd(key interface{}, score float64, member interface{}, pairs ...interface{}) *RedisResponse
Sorted Set operations
func (*MockRedisOp) ZCard ¶ added in v1.2.0
func (m *MockRedisOp) ZCard(key interface{}) *RedisResponse
func (*MockRedisOp) ZCount ¶ added in v1.2.0
func (m *MockRedisOp) ZCount(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZDiff ¶ added in v1.2.0
func (m *MockRedisOp) ZDiff(key ...interface{}) *RedisResponse
func (*MockRedisOp) ZDiffStore ¶ added in v1.2.0
func (m *MockRedisOp) ZDiffStore(destination interface{}, key ...interface{}) *RedisResponse
func (*MockRedisOp) ZIncrBy ¶ added in v1.2.0
func (m *MockRedisOp) ZIncrBy(key interface{}, increment float64, member interface{}) *RedisResponse
func (*MockRedisOp) ZInter ¶ added in v1.2.0
func (m *MockRedisOp) ZInter(key ...interface{}) *RedisResponse
func (*MockRedisOp) ZInterCard ¶ added in v1.2.0
func (m *MockRedisOp) ZInterCard(key ...interface{}) *RedisResponse
func (*MockRedisOp) ZInterStore ¶ added in v1.2.0
func (m *MockRedisOp) ZInterStore(destination interface{}, key ...interface{}) *RedisResponse
func (*MockRedisOp) ZLexCount ¶ added in v1.2.0
func (m *MockRedisOp) ZLexCount(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZMPop ¶ added in v1.2.0
func (m *MockRedisOp) ZMPop(count int64, where string, key ...interface{}) *RedisResponse
func (*MockRedisOp) ZMScore ¶ added in v1.2.0
func (m *MockRedisOp) ZMScore(key interface{}, member ...interface{}) *RedisResponse
func (*MockRedisOp) ZPopMax ¶ added in v1.2.0
func (m *MockRedisOp) ZPopMax(key interface{}) *RedisResponse
func (*MockRedisOp) ZPopMin ¶ added in v1.2.0
func (m *MockRedisOp) ZPopMin(key interface{}) *RedisResponse
func (*MockRedisOp) ZRandMember ¶ added in v1.2.0
func (m *MockRedisOp) ZRandMember(key interface{}) *RedisResponse
func (*MockRedisOp) ZRange ¶ added in v1.2.0
func (m *MockRedisOp) ZRange(key interface{}, start, stop int64) *RedisResponse
func (*MockRedisOp) ZRangeByLex ¶ added in v1.2.0
func (m *MockRedisOp) ZRangeByLex(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZRangeByScore ¶ added in v1.2.0
func (m *MockRedisOp) ZRangeByScore(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZRangeStore ¶ added in v1.2.0
func (m *MockRedisOp) ZRangeStore(dst interface{}, src interface{}, min, max int64) *RedisResponse
func (*MockRedisOp) ZRank ¶ added in v1.2.0
func (m *MockRedisOp) ZRank(key, member interface{}) *RedisResponse
func (*MockRedisOp) ZRem ¶ added in v1.2.0
func (m *MockRedisOp) ZRem(key interface{}, member ...interface{}) *RedisResponse
func (*MockRedisOp) ZRemRangeByLex ¶ added in v1.2.0
func (m *MockRedisOp) ZRemRangeByLex(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZRemRangeByRank ¶ added in v1.2.0
func (m *MockRedisOp) ZRemRangeByRank(key interface{}, start, stop int64) *RedisResponse
func (*MockRedisOp) ZRemRangeByScore ¶ added in v1.2.0
func (m *MockRedisOp) ZRemRangeByScore(key interface{}, min, max string) *RedisResponse
func (*MockRedisOp) ZRevRange ¶ added in v1.2.0
func (m *MockRedisOp) ZRevRange(key interface{}, start, stop int64) *RedisResponse
func (*MockRedisOp) ZRevRangeByLex ¶ added in v1.2.0
func (m *MockRedisOp) ZRevRangeByLex(key interface{}, max, min string) *RedisResponse
func (*MockRedisOp) ZRevRangeByScore ¶ added in v1.2.0
func (m *MockRedisOp) ZRevRangeByScore(key interface{}, max, min string) *RedisResponse
func (*MockRedisOp) ZRevRank ¶ added in v1.2.0
func (m *MockRedisOp) ZRevRank(key, member interface{}) *RedisResponse
func (*MockRedisOp) ZScan ¶ added in v1.2.0
func (m *MockRedisOp) ZScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
func (*MockRedisOp) ZScore ¶ added in v1.2.0
func (m *MockRedisOp) ZScore(key, member interface{}) *RedisResponse
func (*MockRedisOp) ZUnion ¶ added in v1.2.0
func (m *MockRedisOp) ZUnion(key ...interface{}) *RedisResponse
func (*MockRedisOp) ZUnionStore ¶ added in v1.2.0
func (m *MockRedisOp) ZUnionStore(destination interface{}, key ...interface{}) *RedisResponse
type MockResponse ¶ added in v1.2.0
type MockResponse struct {
Data interface{}
Error error
Delay time.Duration // Optional: simulate network delay
}
MockResponse contains the response data and optional error for mock operations.
type MysqlParams ¶
type MysqlParams struct {
DriverName string
ServerVersion string
SkipInitializeWithVersion bool
DefaultStringSize uint
DefaultDatetimePrecision *int
DisableWithReturning bool
DisableDatetimePrecision bool
DontSupportRenameIndex bool
DontSupportRenameColumn bool
DontSupportNullAsDefaultValue bool
DontSupportRenameColumnUnique bool
DontSupportDropConstraint bool
}
type Redis ¶
type Redis struct {
// contains filtered or unexported fields
}
Redis provides convenient accessors to master and slave Redis operations using a connection pool. It is constructed via NewRedis and exposes Master() and Slave() for executing commands. This type holds no business logic; it wires secret-loaded endpoints to pools.
func NewMockRedis ¶ added in v1.2.0
func NewMockRedis() *Redis
NewMockRedis creates a Redis instance with mock operators for testing. This allows full testing of Redis operations without requiring a real Redis server.
func NewRedis ¶
NewRedis constructs a Redis client by loading the secret profile with the given name. The secret must contain master/slave endpoints defined by RedisMeta (host and port only).
func NewRedisWithMock ¶ added in v1.2.0
func NewRedisWithMock(master, slave *MockRedisOp) *Redis
NewRedisWithMock creates a Redis instance with custom mock operators. This allows fine-grained control over mock behavior for advanced testing scenarios.
func (*Redis) Master ¶
func (r *Redis) Master() RedisOperator
Master returns the master RedisOperator for primary/write operations.
func (*Redis) Slave ¶
func (r *Redis) Slave() RedisOperator
Slave returns the slave RedisOperator for read operations.
type RedisOp ¶
type RedisOp struct {
// contains filtered or unexported fields
}
RedisOp wraps a redis.Pool and exposes typed Redis command helpers. Obtain instances via Redis.Master() and Redis.Slave(). Each method executes a single Redis command and returns a RedisResponse.
func (*RedisOp) ActiveCount ¶
ActiveCount returns the number of active connections in the pool.
func (*RedisOp) Append ¶ added in v1.1.13
func (o *RedisOp) Append(key interface{}, val interface{}) *RedisResponse
String commands (supplementary) Append appends a value to a key's string value.
func (*RedisOp) Close ¶
Close closes the underlying connection pool if present. This is not a Redis command; it releases local resources. Safe to call multiple times.
func (*RedisOp) Copy ¶ added in v1.1.13
func (o *RedisOp) Copy(src, dst interface{}) *RedisResponse
Key commands (supplementary) Copy copies the value stored at the source key to the destination key.
func (*RedisOp) Decr ¶ added in v1.1.13
func (o *RedisOp) Decr(key interface{}) *RedisResponse
Decr decrements the integer value of a key by one.
func (*RedisOp) DecrBy ¶ added in v1.1.13
func (o *RedisOp) DecrBy(key interface{}, val int64) *RedisResponse
DecrBy decrements the integer value of a key by the given number.
func (*RedisOp) Delete ¶
func (o *RedisOp) Delete(key ...interface{}) *RedisResponse
Delete removes one or more keys.
func (*RedisOp) Dump ¶ added in v1.1.13
func (o *RedisOp) Dump(key interface{}) *RedisResponse
Dump serializes the value stored at key in a Redis-specific format.
func (*RedisOp) Eval ¶ added in v1.1.15
func (o *RedisOp) Eval(script string, keys []interface{}, args []interface{}) *RedisResponse
Script commands Eval executes a Lua script on the server.
func (*RedisOp) Exists ¶
func (o *RedisOp) Exists(key ...interface{}) *RedisResponse
Exists checks if one or more keys exist.
func (*RedisOp) Expire ¶
func (o *RedisOp) Expire(key interface{}, ttl int64) *RedisResponse
Expire sets a timeout on key. After the TTL expires, the key is deleted.
func (*RedisOp) FlushAll ¶ added in v1.1.13
func (o *RedisOp) FlushAll() *RedisResponse
FlushAll removes all keys from all databases.
func (*RedisOp) FlushDB ¶ added in v1.1.13
func (o *RedisOp) FlushDB() *RedisResponse
FlushDB removes all keys from the current database.
func (*RedisOp) Get ¶
func (o *RedisOp) Get(key interface{}) *RedisResponse
Get retrieves the string value of a key.
func (*RedisOp) GetRange ¶ added in v1.1.13
func (o *RedisOp) GetRange(key interface{}, start, end int64) *RedisResponse
GetRange gets a substring of the string stored at key.
func (*RedisOp) HDel ¶
func (o *RedisOp) HDel(key interface{}, field ...interface{}) *RedisResponse
HDel deletes one or more hash fields.
func (*RedisOp) HExists ¶
func (o *RedisOp) HExists(key, field interface{}) *RedisResponse
HExists determines if a hash field exists.
func (*RedisOp) HGet ¶
func (o *RedisOp) HGet(key, field interface{}) *RedisResponse
HGet gets the value of a field in a hash.
func (*RedisOp) HGetAll ¶
func (o *RedisOp) HGetAll(key interface{}) *RedisResponse
HGetAll gets all fields and values in a hash.
func (*RedisOp) HIncrBy ¶
func (o *RedisOp) HIncrBy(key interface{}, field interface{}, val int64) *RedisResponse
HIncrBy increments the integer value of a hash field by the given number.
func (*RedisOp) HKeys ¶
func (o *RedisOp) HKeys(key interface{}) *RedisResponse
HKeys returns all field names in a hash.
func (*RedisOp) HLen ¶
func (o *RedisOp) HLen(key interface{}) *RedisResponse
HLen returns the number of fields contained in the hash.
func (*RedisOp) HMGet ¶
func (o *RedisOp) HMGet(key interface{}, field ...interface{}) *RedisResponse
HMGet gets the values of all specified fields in a hash.
func (*RedisOp) HMSet ¶
func (o *RedisOp) HMSet(key interface{}, val map[interface{}]interface{}) *RedisResponse
HMSet sets multiple hash fields to multiple values.
func (*RedisOp) HScan ¶ added in v1.1.13
func (o *RedisOp) HScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
HScan iterates over hash fields and values using a cursor.
func (*RedisOp) HSet ¶
func (o *RedisOp) HSet(key, field, val interface{}) *RedisResponse
HSet sets field in the hash stored at key to value.
func (*RedisOp) HSetNX ¶ added in v1.2.3
func (o *RedisOp) HSetNX(key, field, val interface{}) *RedisResponse
HSetNX sets field in the hash stored at key to value, only if field does not exist.
func (*RedisOp) HVals ¶
func (o *RedisOp) HVals(key interface{}) *RedisResponse
HVals returns all values in a hash.
func (*RedisOp) Incr ¶
func (o *RedisOp) Incr(key interface{}) *RedisResponse
Incr increments the integer value of a key by one.
func (*RedisOp) IncrBy ¶
func (o *RedisOp) IncrBy(key interface{}, val int64) *RedisResponse
IncrBy increments the integer value of a key by the given amount.
func (*RedisOp) Keys ¶
func (o *RedisOp) Keys(key interface{}) *RedisResponse
Keys returns all keys matching the given pattern.
func (*RedisOp) LIndex ¶ added in v1.1.13
func (o *RedisOp) LIndex(key interface{}, index int64) *RedisResponse
List commands LIndex returns the element at index in the list stored at key.
func (*RedisOp) LInsert ¶ added in v1.1.13
func (o *RedisOp) LInsert(key interface{}, where string, pivot, element interface{}) *RedisResponse
LInsert inserts element before or after the pivot element in the list stored at key.
func (*RedisOp) LLen ¶ added in v1.1.13
func (o *RedisOp) LLen(key interface{}) *RedisResponse
LLen returns the length of the list stored at key.
func (*RedisOp) LMPop ¶ added in v1.1.13
func (o *RedisOp) LMPop(count int64, where string, key ...interface{}) *RedisResponse
LMPop pops one or multiple elements from the first non-empty list key among the given keys.
func (*RedisOp) LMove ¶ added in v1.1.13
func (o *RedisOp) LMove(source, destination interface{}, srcWhere, dstWhere string) *RedisResponse
LMove atomically returns and removes the element from the source list and pushes it to the destination list.
func (*RedisOp) LPop ¶ added in v1.1.13
func (o *RedisOp) LPop(key interface{}) *RedisResponse
LPop removes and returns the first element of the list stored at key.
func (*RedisOp) LPos ¶ added in v1.1.13
func (o *RedisOp) LPos(key, element interface{}) *RedisResponse
LPos returns the index of the first occurrence of element in the list stored at key.
func (*RedisOp) LPush ¶ added in v1.1.13
func (o *RedisOp) LPush(key interface{}, val ...interface{}) *RedisResponse
LPush inserts all the specified values at the head of the list stored at key.
func (*RedisOp) LPushX ¶ added in v1.1.13
func (o *RedisOp) LPushX(key interface{}, val ...interface{}) *RedisResponse
LPushX inserts values at the head of the list stored at key, only if the list exists.
func (*RedisOp) LRange ¶ added in v1.1.13
func (o *RedisOp) LRange(key interface{}, start, stop int64) *RedisResponse
LRange returns the specified elements of the list stored at key.
func (*RedisOp) LRem ¶ added in v1.1.13
func (o *RedisOp) LRem(key interface{}, count int64, element interface{}) *RedisResponse
LRem removes the first count occurrences of element from the list stored at key.
func (*RedisOp) LSet ¶ added in v1.1.13
func (o *RedisOp) LSet(key interface{}, index int64, element interface{}) *RedisResponse
LSet sets the list element at index to element.
func (*RedisOp) LTrim ¶ added in v1.1.13
func (o *RedisOp) LTrim(key interface{}, start, stop int64) *RedisResponse
LTrim trims an existing list so that it will contain only the specified range of elements.
func (*RedisOp) MSetNX ¶ added in v1.2.3
func (o *RedisOp) MSetNX(keyvals ...interface{}) *RedisResponse
MSetNX sets multiple keys to multiple values, only if none of the keys exist.
func (*RedisOp) Meta ¶ added in v1.1.12
Meta returns the Redis connection metadata (host and port) loaded from secret.
func (*RedisOp) PTTL ¶ added in v1.1.13
func (o *RedisOp) PTTL(key interface{}) *RedisResponse
PTTL returns the remaining time to live of a key in milliseconds.
func (*RedisOp) Persist ¶ added in v1.1.13
func (o *RedisOp) Persist(key interface{}) *RedisResponse
Persist removes the existing timeout on a key.
func (*RedisOp) Ping ¶ added in v1.1.2
func (o *RedisOp) Ping() *RedisResponse
Ping checks if the server is alive and responding.
func (*RedisOp) Pipeline ¶ added in v1.1.14
func (o *RedisOp) Pipeline(cmds ...RedisPipelineCmd) []*RedisResponse
Usage guarantees 1:1 mapping between cmds[i] and responses[i]. Pipeline sends multiple commands in a single batch and returns responses in the same order.
func (*RedisOp) Publish ¶
func (o *RedisOp) Publish(key interface{}, val interface{}) *RedisResponse
Publish posts a message to the given channel.
func (*RedisOp) RPop ¶ added in v1.1.13
func (o *RedisOp) RPop(key interface{}) *RedisResponse
RPop removes and returns the last element of the list stored at key.
func (*RedisOp) RPopLPush ¶ added in v1.1.13
func (o *RedisOp) RPopLPush(source, destination interface{}) *RedisResponse
RPopLPush removes the last element in the source list and pushes it to the head of the destination list.
func (*RedisOp) RPush ¶ added in v1.1.13
func (o *RedisOp) RPush(key interface{}, val ...interface{}) *RedisResponse
RPush inserts all the specified values at the tail of the list stored at key.
func (*RedisOp) RPushX ¶ added in v1.1.13
func (o *RedisOp) RPushX(key interface{}, val ...interface{}) *RedisResponse
RPushX inserts values at the tail of the list stored at key, only if the list exists.
func (*RedisOp) RandomKey ¶ added in v1.1.13
func (o *RedisOp) RandomKey() *RedisResponse
RandomKey returns a random key from the current database.
func (*RedisOp) Rename ¶ added in v1.1.13
func (o *RedisOp) Rename(oldKey, newKey interface{}) *RedisResponse
Rename renames a key.
func (*RedisOp) RenameNX ¶ added in v1.1.13
func (o *RedisOp) RenameNX(oldKey, newKey interface{}) *RedisResponse
RenameNX renames a key, only if the new key does not exist.
func (*RedisOp) SAdd ¶ added in v1.1.13
func (o *RedisOp) SAdd(key interface{}, member ...interface{}) *RedisResponse
Set commands SAdd adds one or more members to a set.
func (*RedisOp) SCard ¶ added in v1.1.13
func (o *RedisOp) SCard(key interface{}) *RedisResponse
SCard returns the set cardinality (number of elements) of the set stored at key.
func (*RedisOp) SDiff ¶ added in v1.1.13
func (o *RedisOp) SDiff(key ...interface{}) *RedisResponse
SDiff returns the members of the set resulting from the difference between the first set and all the successive sets.
func (*RedisOp) SDiffStore ¶ added in v1.1.13
func (o *RedisOp) SDiffStore(destination interface{}, key ...interface{}) *RedisResponse
SDiffStore stores the result of SDIFF in the destination key.
func (*RedisOp) SInter ¶ added in v1.1.13
func (o *RedisOp) SInter(key ...interface{}) *RedisResponse
SInter returns the members of the set resulting from the intersection of all the given sets.
func (*RedisOp) SInterCard ¶ added in v1.1.13
func (o *RedisOp) SInterCard(key ...interface{}) *RedisResponse
SInterCard returns the number of elements in the intersection of all the given sets.
func (*RedisOp) SInterStore ¶ added in v1.1.13
func (o *RedisOp) SInterStore(destination interface{}, key ...interface{}) *RedisResponse
SInterStore stores the result of SINTER in the destination key.
func (*RedisOp) SIsMember ¶ added in v1.1.13
func (o *RedisOp) SIsMember(key, member interface{}) *RedisResponse
SIsMember returns if member is a member of the set stored at key.
func (*RedisOp) SMIsMember ¶ added in v1.1.13
func (o *RedisOp) SMIsMember(key interface{}, member ...interface{}) *RedisResponse
SMIsMember returns whether each member is a member of the set stored at key.
func (*RedisOp) SMembers ¶ added in v1.1.13
func (o *RedisOp) SMembers(key interface{}) *RedisResponse
SMembers returns all the members of the set value stored at key.
func (*RedisOp) SMove ¶ added in v1.1.13
func (o *RedisOp) SMove(source, destination, member interface{}) *RedisResponse
SMove moves member from the source set to the destination set.
func (*RedisOp) SPop ¶ added in v1.1.13
func (o *RedisOp) SPop(key interface{}) *RedisResponse
SPop removes and returns one or more random members from the set stored at key.
func (*RedisOp) SRandMember ¶ added in v1.1.13
func (o *RedisOp) SRandMember(key interface{}) *RedisResponse
SRandMember returns one or more random members from the set value stored at key without removing them.
func (*RedisOp) SRem ¶ added in v1.1.13
func (o *RedisOp) SRem(key interface{}, member ...interface{}) *RedisResponse
SRem removes one or more members from a set.
func (*RedisOp) SScan ¶ added in v1.1.13
func (o *RedisOp) SScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
SScan iterates elements of the set stored at key.
func (*RedisOp) SUnion ¶ added in v1.1.13
func (o *RedisOp) SUnion(key ...interface{}) *RedisResponse
SUnion returns the members of the set resulting from the union of all the given sets.
func (*RedisOp) SUnionStore ¶ added in v1.1.13
func (o *RedisOp) SUnionStore(destination interface{}, key ...interface{}) *RedisResponse
SUnionStore stores the result of SUNION in the destination key.
func (*RedisOp) Scan ¶ added in v1.1.13
func (o *RedisOp) Scan(cursor int64, match string, count int64) *RedisResponse
Scan iterates the set of keys in the current database.
func (*RedisOp) Set ¶
func (o *RedisOp) Set(key interface{}, val interface{}) *RedisResponse
Set sets the string value of a key.
func (*RedisOp) SetExpire ¶
func (o *RedisOp) SetExpire(key interface{}, val interface{}, ttl int64) *RedisResponse
SetExpire sets value and expiration in one command.
func (*RedisOp) SetNX ¶ added in v1.2.3
func (o *RedisOp) SetNX(key interface{}, val interface{}) *RedisResponse
SetNX sets the value of a key, only if the key does not exist.
func (*RedisOp) SetRange ¶ added in v1.1.13
func (o *RedisOp) SetRange(key interface{}, offset int64, val interface{}) *RedisResponse
SetRange overwrites part of the string stored at key starting at the specified offset.
func (*RedisOp) SetWithOptions ¶ added in v1.2.3
func (o *RedisOp) SetWithOptions(key interface{}, val interface{}, opts SetOptions) *RedisResponse
SetWithOptions sets the string value of a key with additional options.
func (*RedisOp) StrLen ¶ added in v1.1.13
func (o *RedisOp) StrLen(key interface{}) *RedisResponse
StrLen returns the length of the string value stored at key.
func (*RedisOp) TTL ¶ added in v1.1.13
func (o *RedisOp) TTL(key interface{}) *RedisResponse
TTL returns the remaining time to live of a key in seconds.
func (*RedisOp) Touch ¶ added in v1.1.13
func (o *RedisOp) Touch(key ...interface{}) *RedisResponse
Touch updates the last access time of one or more keys.
func (*RedisOp) Type ¶ added in v1.1.13
func (o *RedisOp) Type(key interface{}) *RedisResponse
Type returns the string representation of the key's data type.
func (*RedisOp) Unlink ¶ added in v1.1.13
func (o *RedisOp) Unlink(key ...interface{}) *RedisResponse
Unlink removes one or more keys asynchronously.
func (*RedisOp) ZAdd ¶ added in v1.1.13
func (o *RedisOp) ZAdd(key interface{}, score float64, member interface{}, pairs ...interface{}) *RedisResponse
Sorted Set commands ZAdd adds all the specified members with the specified scores to the sorted set stored at key.
func (*RedisOp) ZCard ¶ added in v1.1.13
func (o *RedisOp) ZCard(key interface{}) *RedisResponse
ZCard returns the sorted set cardinality (number of elements) of the sorted set stored at key.
func (*RedisOp) ZCount ¶ added in v1.1.13
func (o *RedisOp) ZCount(key interface{}, min, max string) *RedisResponse
ZCount returns the number of elements in the sorted set with a score between min and max.
func (*RedisOp) ZDiff ¶ added in v1.1.13
func (o *RedisOp) ZDiff(key ...interface{}) *RedisResponse
ZDiff returns the members of the sorted set resulting from the difference between the first set and all the successive sets.
func (*RedisOp) ZDiffStore ¶ added in v1.1.13
func (o *RedisOp) ZDiffStore(destination interface{}, key ...interface{}) *RedisResponse
ZDiffStore stores the result of ZDIFF in the destination key.
func (*RedisOp) ZIncrBy ¶ added in v1.1.13
func (o *RedisOp) ZIncrBy(key interface{}, increment float64, member interface{}) *RedisResponse
ZIncrBy increments the score of member in the sorted set stored at key by increment.
func (*RedisOp) ZInter ¶ added in v1.1.13
func (o *RedisOp) ZInter(key ...interface{}) *RedisResponse
ZInter returns the members of the sorted set resulting from the intersection of all the given sets.
func (*RedisOp) ZInterCard ¶ added in v1.1.13
func (o *RedisOp) ZInterCard(key ...interface{}) *RedisResponse
ZInterCard returns the number of elements in the intersection of all the given sorted sets.
func (*RedisOp) ZInterStore ¶ added in v1.1.13
func (o *RedisOp) ZInterStore(destination interface{}, key ...interface{}) *RedisResponse
ZInterStore stores the result of ZINTER in the destination key.
func (*RedisOp) ZLexCount ¶ added in v1.1.13
func (o *RedisOp) ZLexCount(key interface{}, min, max string) *RedisResponse
ZLexCount returns the number of elements in the sorted set with a value between min and max, lexicographically.
func (*RedisOp) ZMPop ¶ added in v1.1.13
func (o *RedisOp) ZMPop(count int64, where string, key ...interface{}) *RedisResponse
ZMPop pops one or more elements from the first non-empty sorted set among the given keys.
func (*RedisOp) ZMScore ¶ added in v1.1.13
func (o *RedisOp) ZMScore(key interface{}, member ...interface{}) *RedisResponse
ZMScore returns the scores associated with the specified members in the sorted set stored at key.
func (*RedisOp) ZPopMax ¶ added in v1.1.13
func (o *RedisOp) ZPopMax(key interface{}) *RedisResponse
ZPopMax removes and returns the member with the highest score from the sorted set.
func (*RedisOp) ZPopMin ¶ added in v1.1.13
func (o *RedisOp) ZPopMin(key interface{}) *RedisResponse
ZPopMin removes and returns the member with the lowest score from the sorted set.
func (*RedisOp) ZRandMember ¶ added in v1.1.13
func (o *RedisOp) ZRandMember(key interface{}) *RedisResponse
ZRandMember returns a random member from the sorted set without removing it.
func (*RedisOp) ZRange ¶ added in v1.1.13
func (o *RedisOp) ZRange(key interface{}, start, stop int64) *RedisResponse
ZRange returns the specified range of members in the sorted set stored at key by index.
func (*RedisOp) ZRangeByLex ¶ added in v1.1.13
func (o *RedisOp) ZRangeByLex(key interface{}, min, max string) *RedisResponse
ZRangeByLex returns all the elements in the sorted set with a value between min and max, lexicographically.
func (*RedisOp) ZRangeByScore ¶ added in v1.1.13
func (o *RedisOp) ZRangeByScore(key interface{}, min, max string) *RedisResponse
ZRangeByScore returns all the elements in the sorted set with a score between min and max.
func (*RedisOp) ZRangeStore ¶ added in v1.1.13
func (o *RedisOp) ZRangeStore(dst interface{}, src interface{}, min, max int64) *RedisResponse
ZRangeStore stores a range of members selected by index from the source sorted set to the destination key.
func (*RedisOp) ZRank ¶ added in v1.1.13
func (o *RedisOp) ZRank(key, member interface{}) *RedisResponse
ZRank returns the rank of member in the sorted set stored at key, with scores ordered from low to high.
func (*RedisOp) ZRem ¶ added in v1.1.13
func (o *RedisOp) ZRem(key interface{}, member ...interface{}) *RedisResponse
ZRem removes one or more members from the sorted set stored at key.
func (*RedisOp) ZRemRangeByLex ¶ added in v1.1.13
func (o *RedisOp) ZRemRangeByLex(key interface{}, min, max string) *RedisResponse
ZRemRangeByLex removes all members in the sorted set between the lexicographical range specified by min and max.
func (*RedisOp) ZRemRangeByRank ¶ added in v1.1.13
func (o *RedisOp) ZRemRangeByRank(key interface{}, start, stop int64) *RedisResponse
ZRemRangeByRank removes all members in the sorted set stored at key within the given index range.
func (*RedisOp) ZRemRangeByScore ¶ added in v1.1.13
func (o *RedisOp) ZRemRangeByScore(key interface{}, min, max string) *RedisResponse
ZRemRangeByScore removes all members in the sorted set stored at key with scores between min and max.
func (*RedisOp) ZRevRange ¶ added in v1.1.13
func (o *RedisOp) ZRevRange(key interface{}, start, stop int64) *RedisResponse
ZRevRange returns the specified range of members in the sorted set stored at key by index, with scores ordered from high to low.
func (*RedisOp) ZRevRangeByLex ¶ added in v1.1.13
func (o *RedisOp) ZRevRangeByLex(key interface{}, max, min string) *RedisResponse
ZRevRangeByLex returns all the elements in the sorted set with a value between max and min, lexicographically, in reverse order.
func (*RedisOp) ZRevRangeByScore ¶ added in v1.1.13
func (o *RedisOp) ZRevRangeByScore(key interface{}, max, min string) *RedisResponse
ZRevRangeByScore returns all the elements in the sorted set with a score between max and min in reverse order.
func (*RedisOp) ZRevRank ¶ added in v1.1.13
func (o *RedisOp) ZRevRank(key, member interface{}) *RedisResponse
ZRevRank returns the rank of member in the sorted set, with scores ordered from high to low.
func (*RedisOp) ZScan ¶ added in v1.1.13
func (o *RedisOp) ZScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
ZScan incrementally iterates members of the sorted set stored at key.
func (*RedisOp) ZScore ¶ added in v1.1.13
func (o *RedisOp) ZScore(key, member interface{}) *RedisResponse
ZScore returns the score associated with the specified member in the sorted set.
func (*RedisOp) ZUnion ¶ added in v1.1.13
func (o *RedisOp) ZUnion(key ...interface{}) *RedisResponse
ZUnion returns the members of the sorted set resulting from the union of all the given sorted sets.
func (*RedisOp) ZUnionStore ¶ added in v1.1.13
func (o *RedisOp) ZUnionStore(destination interface{}, key ...interface{}) *RedisResponse
type RedisOperator ¶ added in v1.2.0
type RedisOperator interface {
// Connection and pool management
Meta() secret.RedisMeta
Pool() *redis.Pool
Conn() redis.Conn
ActiveCount() int
IdleCount() int
Close() error
Exec(f func(conn redis.Conn)) error
// Pipeline operations
Pipeline(cmds ...RedisPipelineCmd) []*RedisResponse
// String operations
Get(key interface{}) *RedisResponse
Set(key interface{}, val interface{}) *RedisResponse
SetWithOptions(key interface{}, val interface{}, opts SetOptions) *RedisResponse
SetExpire(key interface{}, val interface{}, ttl int64) *RedisResponse
SetNX(key interface{}, val interface{}) *RedisResponse
MSetNX(keyvals ...interface{}) *RedisResponse
Incr(key interface{}) *RedisResponse
IncrBy(key interface{}, val int64) *RedisResponse
Decr(key interface{}) *RedisResponse
DecrBy(key interface{}, val int64) *RedisResponse
Append(key interface{}, val interface{}) *RedisResponse
StrLen(key interface{}) *RedisResponse
GetRange(key interface{}, start, end int64) *RedisResponse
SetRange(key interface{}, offset int64, val interface{}) *RedisResponse
// Hash operations
HMSet(key interface{}, val map[interface{}]interface{}) *RedisResponse
HMGet(key interface{}, field ...interface{}) *RedisResponse
HSet(key, field, val interface{}) *RedisResponse
HSetNX(key, field, val interface{}) *RedisResponse
HGet(key, field interface{}) *RedisResponse
HExists(key, field interface{}) *RedisResponse
HDel(key interface{}, field ...interface{}) *RedisResponse
HGetAll(key interface{}) *RedisResponse
HLen(key interface{}) *RedisResponse
HKeys(key interface{}) *RedisResponse
HIncrBy(key interface{}, field interface{}, val int64) *RedisResponse
HVals(key interface{}) *RedisResponse
HScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
// Key operations
Expire(key interface{}, ttl int64) *RedisResponse
Delete(key ...interface{}) *RedisResponse
Keys(key interface{}) *RedisResponse
Exists(key ...interface{}) *RedisResponse
Copy(src, dst interface{}) *RedisResponse
Dump(key interface{}) *RedisResponse
TTL(key interface{}) *RedisResponse
PTTL(key interface{}) *RedisResponse
Type(key interface{}) *RedisResponse
RandomKey() *RedisResponse
Rename(oldKey, newKey interface{}) *RedisResponse
RenameNX(oldKey, newKey interface{}) *RedisResponse
Touch(key ...interface{}) *RedisResponse
Unlink(key ...interface{}) *RedisResponse
Persist(key interface{}) *RedisResponse
// List operations
LIndex(key interface{}, index int64) *RedisResponse
LInsert(key interface{}, where string, pivot, element interface{}) *RedisResponse
LLen(key interface{}) *RedisResponse
LMove(source, destination interface{}, srcWhere, dstWhere string) *RedisResponse
LMPop(count int64, where string, key ...interface{}) *RedisResponse
LPop(key interface{}) *RedisResponse
LPos(key, element interface{}) *RedisResponse
LPush(key interface{}, val ...interface{}) *RedisResponse
LPushX(key interface{}, val ...interface{}) *RedisResponse
LRange(key interface{}, start, stop int64) *RedisResponse
LRem(key interface{}, count int64, element interface{}) *RedisResponse
LSet(key interface{}, index int64, element interface{}) *RedisResponse
LTrim(key interface{}, start, stop int64) *RedisResponse
RPop(key interface{}) *RedisResponse
RPopLPush(source, destination interface{}) *RedisResponse
RPush(key interface{}, val ...interface{}) *RedisResponse
RPushX(key interface{}, val ...interface{}) *RedisResponse
// Set operations
SAdd(key interface{}, member ...interface{}) *RedisResponse
SCard(key interface{}) *RedisResponse
SDiff(key ...interface{}) *RedisResponse
SDiffStore(destination interface{}, key ...interface{}) *RedisResponse
SInter(key ...interface{}) *RedisResponse
SInterCard(key ...interface{}) *RedisResponse
SInterStore(destination interface{}, key ...interface{}) *RedisResponse
SIsMember(key, member interface{}) *RedisResponse
SMembers(key interface{}) *RedisResponse
SMIsMember(key interface{}, member ...interface{}) *RedisResponse
SMove(source, destination, member interface{}) *RedisResponse
SPop(key interface{}) *RedisResponse
SRandMember(key interface{}) *RedisResponse
SRem(key interface{}, member ...interface{}) *RedisResponse
SScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
SUnion(key ...interface{}) *RedisResponse
SUnionStore(destination interface{}, key ...interface{}) *RedisResponse
// Sorted Set operations
ZAdd(key interface{}, score float64, member interface{}, pairs ...interface{}) *RedisResponse
ZCard(key interface{}) *RedisResponse
ZCount(key interface{}, min, max string) *RedisResponse
ZDiff(key ...interface{}) *RedisResponse
ZDiffStore(destination interface{}, key ...interface{}) *RedisResponse
ZIncrBy(key interface{}, increment float64, member interface{}) *RedisResponse
ZInter(key ...interface{}) *RedisResponse
ZInterCard(key ...interface{}) *RedisResponse
ZInterStore(destination interface{}, key ...interface{}) *RedisResponse
ZLexCount(key interface{}, min, max string) *RedisResponse
ZMPop(count int64, where string, key ...interface{}) *RedisResponse
ZMScore(key interface{}, member ...interface{}) *RedisResponse
ZPopMax(key interface{}) *RedisResponse
ZPopMin(key interface{}) *RedisResponse
ZRandMember(key interface{}) *RedisResponse
ZRange(key interface{}, start, stop int64) *RedisResponse
ZRangeByLex(key interface{}, min, max string) *RedisResponse
ZRangeByScore(key interface{}, min, max string) *RedisResponse
ZRangeStore(dst interface{}, src interface{}, min, max int64) *RedisResponse
ZRevRange(key interface{}, start, stop int64) *RedisResponse
ZRevRangeByLex(key interface{}, max, min string) *RedisResponse
ZRevRangeByScore(key interface{}, max, min string) *RedisResponse
ZRank(key, member interface{}) *RedisResponse
ZRem(key interface{}, member ...interface{}) *RedisResponse
ZRemRangeByLex(key interface{}, min, max string) *RedisResponse
ZRemRangeByRank(key interface{}, start, stop int64) *RedisResponse
ZRemRangeByScore(key interface{}, min, max string) *RedisResponse
ZRevRank(key, member interface{}) *RedisResponse
ZScan(key interface{}, cursor int64, match string, count int64) *RedisResponse
ZScore(key, member interface{}) *RedisResponse
ZUnion(key ...interface{}) *RedisResponse
ZUnionStore(destination interface{}, key ...interface{}) *RedisResponse
// Admin operations
FlushDB() *RedisResponse
FlushAll() *RedisResponse
Scan(cursor int64, match string, count int64) *RedisResponse
Ping() *RedisResponse
Publish(key interface{}, val interface{}) *RedisResponse
// Script operations
Eval(script string, keys []interface{}, args []interface{}) *RedisResponse
}
RedisOperator defines the interface for Redis operations. This interface allows for both real and mock implementations, enabling comprehensive unit testing while maintaining API compatibility.
type RedisPipelineCmd ¶ added in v1.1.14
type RedisPipelineCmd struct {
Cmd string
Args []interface{}
}
RedisPipelineCmd describes a single command and its arguments in a pipeline batch.
type RedisResponse ¶
type RedisResponse struct {
RedisResponseEntity
Error error
}
RedisResponse wraps a Redis reply and an optional error. It embeds RedisResponseEntity to provide typed accessors for the reply payload.
func (*RedisResponse) RecordNotFound ¶
func (k *RedisResponse) RecordNotFound() bool
type RedisResponseEntity ¶
type RedisResponseEntity struct {
// contains filtered or unexported fields
}
RedisResponseEntity holds a single Redis reply value and provides typed accessors. It wraps the raw reply so callers can convert to int64/string/bytes safely.
func (*RedisResponseEntity) GetBytes ¶
func (k *RedisResponseEntity) GetBytes() []byte
GetBytes returns the underlying reply as a byte slice when available. Returns nil if the reply is not a []byte.
func (*RedisResponseEntity) GetFloat64 ¶ added in v1.2.0
func (k *RedisResponseEntity) GetFloat64() float64
GetFloat64 converts the underlying reply to float64 when possible. Returns 0.0 if the value is not numeric or cannot be parsed.
func (*RedisResponseEntity) GetInt64 ¶
func (k *RedisResponseEntity) GetInt64() int64
GetInt64 converts the underlying reply to int64 when possible. Returns 0 if the value is not numeric or cannot be parsed.
func (*RedisResponseEntity) GetSlice ¶ added in v1.1.16
func (k *RedisResponseEntity) GetSlice() []RedisResponseEntity
GetSlice converts an array reply into a slice of RedisResponseEntity for typed access. Returns an empty slice if the reply is not an array.
func (*RedisResponseEntity) GetString ¶
func (k *RedisResponseEntity) GetString() string
GetString returns the underlying reply coerced to string when possible. For []byte, it converts bytes to string; for numeric values, it formats as decimal string.
type SetOptions ¶ added in v1.2.3
type SetOptions struct {
// NX - Only set the key if it does not already exist
NX bool
// XX - Only set the key if it already exists
XX bool
// GET - Return the old value stored at key
GET bool
// EX - Set expire time in seconds
EX int64
// PX - Set expire time in milliseconds
PX int64
// EXAT - Set expire time as Unix timestamp in seconds
EXAT int64
// PXAT - Set expire time as Unix timestamp in milliseconds
PXAT int64
// KEEPTTL - Retain the TTL associated with the key
KEEPTTL bool
}
SetOptions defines options for the SetWithOptions command.