dorm

package module
v1.0.38 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2022 License: MIT Imports: 32 Imported by: 1

README

Golang Dorm

📦 Golang Dorm

godoc goproxy.cn goreportcard.com deps.dev

安装

go get -v -u go.dtapp.net/dorm

Documentation

Index

Constants

View Source
const (
	AttrExpr = "expr" // 过期时间
	AttrNx   = "nx"   // 设置Nx
)
View Source
const (
	SerializerJson   = "json"
	SerializerString = "string"
)
View Source
const Version = "1.0.38"

Variables

View Source
var (
	// GormNotFound 没有数据
	GormNotFound = gorm.ErrRecordNotFound
)
View Source
var (
	// RedisKeysNotFound keys没有数据
	RedisKeysNotFound = errors.New("ERR wrong number of arguments for 'mget' command")
)

Functions

func JsonDecodeNoError

func JsonDecodeNoError(b []byte) map[string]interface{}

JsonDecodeNoError json字符串转结构体,不报错

func JsonEncodeNoError added in v1.0.30

func JsonEncodeNoError(data interface{}) string

JsonEncodeNoError 结构体转json字符串,不报错

func XmlDecodeNoError

func XmlDecodeNoError(b []byte) map[string]interface{}

XmlDecodeNoError xml字符串转结构体,不报错

func XmlEncodeNoError added in v1.0.31

func XmlEncodeNoError(data interface{}) string

XmlEncodeNoError 结构体转json字符串,不报错

Types

type BeegoClient

type BeegoClient struct {
	Db orm.Ormer // 驱动
}

func NewBeegoMysqlClient

func NewBeegoMysqlClient(dns string) (*BeegoClient, error)

func NewBeegoPostgresClient added in v1.0.29

func NewBeegoPostgresClient(dns string) (*BeegoClient, error)

type BsonTime

type BsonTime time.Time

BsonTime 时间类型

func NewBsonTimeCurrent added in v1.0.36

func NewBsonTimeCurrent() BsonTime

NewBsonTimeCurrent 创建当前时间

func NewBsonTimeFromString added in v1.0.35

func NewBsonTimeFromString(t string) BsonTime

NewBsonTimeFromString 创建某个时间 字符串

func NewBsonTimeFromTime added in v1.0.35

func NewBsonTimeFromTime(t time.Time) BsonTime

NewBsonTimeFromTime 创建某个时间

func (BsonTime) Format added in v1.0.35

func (bt BsonTime) Format() string

func (BsonTime) MarshalBSONValue

func (bt BsonTime) MarshalBSONValue() (bsontype.Type, []byte, error)

MarshalBSONValue 实现bson序列化

func (BsonTime) MarshalJSON

func (bt BsonTime) MarshalJSON() ([]byte, error)

MarshalJSON 实现json序列化

func (BsonTime) Time added in v1.0.35

func (bt BsonTime) Time() time.Time

func (BsonTime) TimePro added in v1.0.35

func (bt BsonTime) TimePro() gotime.Pro

func (*BsonTime) UnmarshalBSONValue

func (bt *BsonTime) UnmarshalBSONValue(t2 bsontype.Type, data []byte) error

UnmarshalBSONValue 实现bson反序列化

func (*BsonTime) UnmarshalJSON

func (bt *BsonTime) UnmarshalJSON(data []byte) (err error)

UnmarshalJSON 实现json反序列化

func (BsonTime) Value

func (bt BsonTime) Value() string

Value 时间类型

type BunClient

type BunClient struct {
	Db *bun.DB // 驱动
	// contains filtered or unexported fields
}

BunClient https://bun.uptrace.dev/

func NewBunMysqlClient

func NewBunMysqlClient(config *ConfigBunClient) (*BunClient, error)

func NewBunPgsqlClient

func NewBunPgsqlClient(config *ConfigBunClient) (*BunClient, error)

func (*BunClient) GetDb added in v1.0.12

func (c *BunClient) GetDb() *bun.DB

GetDb 获取驱动

type ConfigBunClient

type ConfigBunClient struct {
	Dns string // 地址
}

type ConfigGormClient

type ConfigGormClient struct {
	Dns                    string // 地址
	LogStatus              bool   // 日志 - 状态
	LogPath                string // 日志 - 路径
	LogSlow                int64  // 日志 - 慢SQL阈值
	LogLevel               string // 日志 - 级别
	LogNotFoundError       bool   // 日志 - 忽略ErrRecordNotFound(记录未找到)错误
	LogColorful            bool   // 日志 - 禁用彩色打印
	ConnSetMaxIdle         int    // 连接 - 设置空闲连接池中连接的最大数量
	ConnSetMaxOpen         int    // 连接 - 设置打开数据库连接的最大数量
	ConnSetConnMaxLifetime int64  // 连接 - 设置了连接可复用的最大时间
}

type ConfigMongoClient

type ConfigMongoClient struct {
	Dns          string // 地址
	Opts         *options.ClientOptions
	DatabaseName string // 库名
}

type ConfigRedisClient

type ConfigRedisClient struct {
	Addr        string        // 地址
	Password    string        // 密码
	DB          int           // 数据库
	PoolSize    int           // 连接池大小
	ReadTimeout time.Duration // 读取超时
}

type ConfigXormClient

type ConfigXormClient struct {
	Dns string // 地址
}

type DBGttFunc

type DBGttFunc func() string

type DBGttInterfaceFunc

type DBGttInterfaceFunc func() interface{}

type DBGttJsonFunc

type DBGttJsonFunc func() interface{}

type DBGttStringFunc

type DBGttStringFunc func() string

type GormClient

type GormClient struct {
	Db *gorm.DB // 驱动
	// contains filtered or unexported fields
}

GormClient https://gorm.io/

func NewGormMysqlClient

func NewGormMysqlClient(config *ConfigGormClient) (*GormClient, error)

func NewGormPostgresClient

func NewGormPostgresClient(config *ConfigGormClient) (*GormClient, error)

func NewGormPostgresqlClient

func NewGormPostgresqlClient(config *ConfigGormClient) (*GormClient, error)

func (*GormClient) Begin

func (c *GormClient) Begin() *gorm.DB

Begin 开始事务,不需要创建 Session 对象

func (*GormClient) Commit

func (c *GormClient) Commit() *gorm.DB

Commit 提交事务

func (*GormClient) GetDb

func (c *GormClient) GetDb() *gorm.DB

GetDb 获取驱动

func (*GormClient) Rollback

func (c *GormClient) Rollback() *gorm.DB

Rollback 回滚事务

type GormClientFun added in v1.0.37

type GormClientFun func() *GormClient

GormClientFun *GormClient 驱动

type GormClientTableFun added in v1.0.38

type GormClientTableFun func() (*GormClient, string)

GormClientTableFun *GormClient 驱动 string 表名

type GttInterfaceFunc added in v1.0.19

type GttInterfaceFunc func() interface{}

GttInterfaceFunc Interface缓存结构

type GttStringFunc added in v1.0.19

type GttStringFunc func() string

GttStringFunc String缓存结构

type HashOperation

type HashOperation struct {
	// contains filtered or unexported fields
}

func NewHashOperation

func NewHashOperation(db *redis.Client) *HashOperation

NewHashOperation hash类型数据操作 https://www.tizi365.com/archives/296.html

func (*HashOperation) Get

func (cl *HashOperation) Get(ctx context.Context, key, field string) *redis.StringCmd

Get 根据key和field字段设置,field字段的值

func (*HashOperation) Set

func (cl *HashOperation) Set(ctx context.Context, key string, value interface{}) *redis.IntCmd

Set 根据key和field字段设置,field字段的值

type Iterator

type Iterator struct {
	// contains filtered or unexported fields
}

func NewIterator

func NewIterator(data []interface{}) *Iterator

NewIterator 构造函数

func (*Iterator) HasNext

func (i *Iterator) HasNext() bool

HasNext 是否有下一个

func (*Iterator) Next

func (i *Iterator) Next() (Ret interface{})

Next 循环下一个

type JsonGttFunc

type JsonGttFunc func() interface{}

type ListOperation

type ListOperation struct {
	// contains filtered or unexported fields
}

func (*ListOperation) Index

func (cl *ListOperation) Index(key string, index int64) *redis.StringCmd

Index 根据索引坐标,查询key中的数据

func (*ListOperation) Insert

func (cl *ListOperation) Insert(key, op string, pivot, value interface{}) *redis.IntCmd

Insert 在指定位置插入数据

func (*ListOperation) LPop

func (cl *ListOperation) LPop(key string) *redis.StringCmd

LPop 从列表左边删除第一个数据,并返回删除的数据

func (*ListOperation) LPush

func (cl *ListOperation) LPush(key string, value interface{}) *redis.IntCmd

LPush 从列表左边插入数据

func (*ListOperation) LPushX

func (cl *ListOperation) LPushX(key string, value interface{}) *redis.IntCmd

LPushX 跟LPush的区别是,仅当列表存在的时候才插入数据

func (*ListOperation) Len

func (cl *ListOperation) Len(key string) *redis.IntCmd

Len 返回列表的大小

func (*ListOperation) RPop

func (cl *ListOperation) RPop(key string) *redis.StringCmd

RPop 从列表的右边删除第一个数据,并返回删除的数据

func (*ListOperation) RPush

func (cl *ListOperation) RPush(key string, value interface{}) *redis.IntCmd

RPush 从列表右边插入数据

func (*ListOperation) RPushX

func (cl *ListOperation) RPushX(key string, value interface{}) *redis.IntCmd

RPushX 跟RPush的区别是,仅当列表存在的时候才插入数据

func (*ListOperation) Range

func (cl *ListOperation) Range(key string, start, stop int64) *redis.StringSliceCmd

Range 返回列表的一个范围内的数据,也可以返回全部数据

func (*ListOperation) RangeAli

func (cl *ListOperation) RangeAli(key string) *redis.StringSliceCmd

RangeAli 返回key全部数据

func (*ListOperation) Rem

func (cl *ListOperation) Rem(key string, count int64, value interface{}) *redis.IntCmd

Rem 删除key中的数据

type MongoClient

type MongoClient struct {
	Db *mongo.Client // 驱动
	// contains filtered or unexported fields
}

func NewMongoClient

func NewMongoClient(config *ConfigMongoClient) (*MongoClient, error)

func (*MongoClient) Begin

func (c *MongoClient) Begin() (ms *MongoSessionOptions, err error)

Begin 开始事务,会同时创建开始会话需要在退出时关闭会话

func (*MongoClient) Close

func (c *MongoClient) Close(ctx context.Context) error

Close 关闭

func (*MongoClient) Database

func (c *MongoClient) Database(name string, opts ...*options.DatabaseOptions) *MongoDatabaseOptions

Database 选择数据库

func (*MongoClient) GetDb

func (c *MongoClient) GetDb() *mongo.Client

GetDb 获取驱动

type MongoClientCollectionFun added in v1.0.38

type MongoClientCollectionFun func() (*MongoClient, string, string)

MongoClientCollectionFun *MongoClient 驱动 string 库名 string 集合

type MongoClientFun added in v1.0.37

type MongoClientFun func() (*MongoClient, string)

MongoClientFun *MongoClient 驱动 string 库名

type MongoCollectionOptions added in v1.0.34

type MongoCollectionOptions struct {
	// contains filtered or unexported fields
}

func (*MongoCollectionOptions) CreateManyIndexes added in v1.0.34

func (cc *MongoCollectionOptions) CreateManyIndexes(ctx context.Context, models []mongo.IndexModel) ([]string, error)

CreateManyIndexes 创建多个索引

func (*MongoCollectionOptions) CreateOneIndexes added in v1.0.34

func (cc *MongoCollectionOptions) CreateOneIndexes(ctx context.Context, key string, value string) (string, error)

CreateOneIndexes 创建一个索引

func (*MongoCollectionOptions) CreateOneUniqueIndexes added in v1.0.34

func (cc *MongoCollectionOptions) CreateOneUniqueIndexes(ctx context.Context, key string, value string) (string, error)

CreateOneUniqueIndexes 创建一个唯一索引

func (*MongoCollectionOptions) CreateOneUniqueIndexesOpts added in v1.0.34

func (cc *MongoCollectionOptions) CreateOneUniqueIndexesOpts(ctx context.Context, key string, value string, opts *options.IndexOptions) (string, error)

CreateOneUniqueIndexesOpts 创建一个索引

func (*MongoCollectionOptions) DeleteMany added in v1.0.34

func (cc *MongoCollectionOptions) DeleteMany(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

DeleteMany 删除多个文档

func (*MongoCollectionOptions) DeleteOne added in v1.0.34

func (cc *MongoCollectionOptions) DeleteOne(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

DeleteOne 删除一个文档

func (*MongoCollectionOptions) Find added in v1.0.34

func (cc *MongoCollectionOptions) Find(ctx context.Context, filter interface{}, opts ...*options.FindOptions) (*mongo.Cursor, error)

Find 查询多个文档

func (*MongoCollectionOptions) FindOne added in v1.0.34

func (cc *MongoCollectionOptions) FindOne(ctx context.Context, filter interface{}, opts ...*options.FindOneOptions) *mongo.SingleResult

FindOne 查询一个文档

func (*MongoCollectionOptions) InsertMany added in v1.0.34

func (cc *MongoCollectionOptions) InsertMany(ctx context.Context, document []interface{}, opts ...*options.InsertManyOptions) (*mongo.InsertManyResult, error)

InsertMany 插入多个文档

func (*MongoCollectionOptions) InsertOne added in v1.0.34

func (cc *MongoCollectionOptions) InsertOne(ctx context.Context, document interface{}, opts ...*options.InsertOneOptions) (*mongo.InsertOneResult, error)

InsertOne 插入一个文档

func (*MongoCollectionOptions) UpdateMany added in v1.0.34

func (cc *MongoCollectionOptions) UpdateMany(ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

UpdateMany 更新多个文档

func (*MongoCollectionOptions) UpdateOne added in v1.0.34

func (cc *MongoCollectionOptions) UpdateOne(ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

UpdateOne 更新一个文档

type MongoDatabaseOptions added in v1.0.34

type MongoDatabaseOptions struct {
	// contains filtered or unexported fields
}

func (*MongoDatabaseOptions) Collection added in v1.0.34

Collection 选择集合

func (*MongoDatabaseOptions) CreateCollection added in v1.0.34

func (cd *MongoDatabaseOptions) CreateCollection(ctx context.Context, name string, opts ...*options.CreateCollectionOptions) error

CreateCollection 创建集合

func (*MongoDatabaseOptions) CreateTimeSeriesCollection added in v1.0.34

func (cd *MongoDatabaseOptions) CreateTimeSeriesCollection(ctx context.Context, name string, timeField string) error

CreateTimeSeriesCollection 创建时间序列集合

type MongoSessionCollectionOptions added in v1.0.35

type MongoSessionCollectionOptions struct {
	// contains filtered or unexported fields
}

func (*MongoSessionCollectionOptions) DeleteMany added in v1.0.35

func (csc *MongoSessionCollectionOptions) DeleteMany(filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

DeleteMany 删除多个文档

func (*MongoSessionCollectionOptions) DeleteOne added in v1.0.35

func (csc *MongoSessionCollectionOptions) DeleteOne(filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

DeleteOne 删除一个文档

func (*MongoSessionCollectionOptions) Find added in v1.0.35

func (csc *MongoSessionCollectionOptions) Find(filter interface{}, opts ...*options.FindOptions) (*mongo.Cursor, error)

Find 查询多个文档

func (*MongoSessionCollectionOptions) FindOne added in v1.0.35

func (csc *MongoSessionCollectionOptions) FindOne(filter interface{}, opts ...*options.FindOneOptions) *mongo.SingleResult

FindOne 查询一个文档

func (*MongoSessionCollectionOptions) InsertMany added in v1.0.35

func (csc *MongoSessionCollectionOptions) InsertMany(document []interface{}, opts ...*options.InsertManyOptions) (*mongo.InsertManyResult, error)

InsertMany 插入多个文档

func (*MongoSessionCollectionOptions) InsertOne added in v1.0.35

func (csc *MongoSessionCollectionOptions) InsertOne(document interface{}, opts ...*options.InsertOneOptions) (*mongo.InsertOneResult, error)

InsertOne 插入一个文档

func (*MongoSessionCollectionOptions) UpdateMany added in v1.0.35

func (csc *MongoSessionCollectionOptions) UpdateMany(filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

UpdateMany 更新多个文档

func (*MongoSessionCollectionOptions) UpdateOne added in v1.0.35

func (csc *MongoSessionCollectionOptions) UpdateOne(filter interface{}, update interface{}, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

UpdateOne 更新一个文档

type MongoSessionDatabaseOptions added in v1.0.35

type MongoSessionDatabaseOptions struct {
	// contains filtered or unexported fields
}

func (*MongoSessionDatabaseOptions) Collection added in v1.0.35

Collection 选择集合

type MongoSessionOptions added in v1.0.35

type MongoSessionOptions struct {
	Session mongo.SessionContext // 会话
	Db      *mongo.Client        // 驱动
	// contains filtered or unexported fields
}

func (*MongoSessionOptions) Close added in v1.0.35

func (cs *MongoSessionOptions) Close(ctx context.Context)

Close 关闭会话

func (*MongoSessionOptions) Commit added in v1.0.35

func (cs *MongoSessionOptions) Commit(ctx context.Context) error

Commit 提交事务

func (*MongoSessionOptions) Database added in v1.0.35

Database 选择数据库

func (*MongoSessionOptions) Rollback added in v1.0.35

func (cs *MongoSessionOptions) Rollback(ctx context.Context) error

Rollback 回滚事务

type OperationAttr

type OperationAttr struct {
	Name  string
	Value interface{}
}

func WithExpire

func WithExpire(t time.Duration) *OperationAttr

WithExpire 过期时间

func WithNX

func WithNX() *OperationAttr

type OperationAttrs

type OperationAttrs []*OperationAttr

func (OperationAttrs) Find

func (a OperationAttrs) Find(name string) interface{}

type RedisCacheConfig added in v1.0.17

type RedisCacheConfig struct {
	Expiration time.Duration // 过期时间
}

RedisCacheConfig 配置

type RedisClient

type RedisClient struct {
	Db *redis.Client // 驱动
	// contains filtered or unexported fields
}

RedisClient https://redis.uptrace.dev/

func NewRedisClient

func NewRedisClient(config *ConfigRedisClient) (*RedisClient, error)

func (*RedisClient) Decr added in v1.0.15

func (r *RedisClient) Decr(ctx context.Context, key string) *redis.IntCmd

Decr 针对一个key的数值进行递减操作

func (*RedisClient) DecrBy added in v1.0.15

func (r *RedisClient) DecrBy(ctx context.Context, key string, value int64) *redis.IntCmd

DecrBy 针对一个key的数值进行递减操作,指定每次递减多少

func (*RedisClient) Del added in v1.0.15

func (r *RedisClient) Del(ctx context.Context, keys ...string) *redis.IntCmd

Del 删除key操作,支持批量删除

func (*RedisClient) Get added in v1.0.15

func (r *RedisClient) Get(ctx context.Context, key string) *redis.StringCmd

Get 查询key的值

func (*RedisClient) GetDb

func (r *RedisClient) GetDb() *redis.Client

GetDb 获取驱动

func (*RedisClient) GetSet added in v1.0.15

func (r *RedisClient) GetSet(ctx context.Context, key string, value interface{}) *redis.StringCmd

GetSet 设置一个key的值,并返回这个key的旧值

func (*RedisClient) Incr added in v1.0.15

func (r *RedisClient) Incr(ctx context.Context, key string) *redis.IntCmd

Incr 针对一个key的数值进行递增操作

func (*RedisClient) IncrBy added in v1.0.15

func (r *RedisClient) IncrBy(ctx context.Context, key string, value int64) *redis.IntCmd

IncrBy 针对一个key的数值进行递增操作,指定每次递增多少

func (*RedisClient) Keys added in v1.0.15

func (r *RedisClient) Keys(ctx context.Context, prefix string) []string

Keys 按前缀获取所有key名

func (*RedisClient) KeysValue added in v1.0.27

func (r *RedisClient) KeysValue(ctx context.Context, prefix string) *redis.SliceCmd

KeysValue 按前缀获取所有key值

func (*RedisClient) MGet added in v1.0.15

func (r *RedisClient) MGet(ctx context.Context, keys ...string) *redis.SliceCmd

MGet 批量查询key的值

func (*RedisClient) MSet added in v1.0.15

func (r *RedisClient) MSet(ctx context.Context, values map[string]interface{}) *redis.StatusCmd

MSet 批量设置key的值 MSet(map[string]interface{}{"key1": "value1", "key2": "value2"})

func (*RedisClient) NewCache added in v1.0.17

func (r *RedisClient) NewCache(config *RedisCacheConfig) *RedisClientCache

NewCache 实例化

func (*RedisClient) NewCacheDefaultExpiration added in v1.0.17

func (r *RedisClient) NewCacheDefaultExpiration() *RedisClientCache

NewCacheDefaultExpiration 实例化

func (*RedisClient) NewListOperation

func (r *RedisClient) NewListOperation() *ListOperation

NewListOperation 列表(list)类型数据操作 https://www.tizi365.com/archives/299.html

func (*RedisClient) NewLock added in v1.0.20

func (r *RedisClient) NewLock() *RedisClientLock

NewLock 实例化锁

func (*RedisClient) NewSimpleCache

func (r *RedisClient) NewSimpleCache(operation *StringOperation, expire time.Duration, serializer string) *SimpleCache

NewSimpleCache 构造函数

func (*RedisClient) NewSimpleInterfaceCache

func (r *RedisClient) NewSimpleInterfaceCache(operation *SimpleOperation, expire time.Duration) *SimpleInterfaceCache

NewSimpleInterfaceCache 构造函数

func (*RedisClient) NewSimpleJsonCache

func (r *RedisClient) NewSimpleJsonCache(operation *StringOperation, expire time.Duration) *SimpleJsonCache

NewSimpleJsonCache 构造函数

func (*RedisClient) NewSimpleOperation

func (r *RedisClient) NewSimpleOperation() *SimpleOperation

func (*RedisClient) NewSimpleStringCache

func (r *RedisClient) NewSimpleStringCache(operation *StringOperation, expire time.Duration) *SimpleStringCache

NewSimpleStringCache 构造函数

func (*RedisClient) NewStringOperation

func (r *RedisClient) NewStringOperation() *StringOperation

func (*RedisClient) PSubscribe added in v1.0.15

func (r *RedisClient) PSubscribe(ctx context.Context, channels ...string) *redis.PubSub

PSubscribe 订阅channel支持通配符匹配

func (*RedisClient) PubSubChannels added in v1.0.15

func (r *RedisClient) PubSubChannels(ctx context.Context, pattern string) *redis.StringSliceCmd

PubSubChannels 查询活跃的channel

func (*RedisClient) PubSubNumSub added in v1.0.15

func (r *RedisClient) PubSubNumSub(ctx context.Context, channels ...string) *redis.StringIntMapCmd

PubSubNumSub 查询指定的channel有多少个订阅者

func (*RedisClient) Publish added in v1.0.15

func (r *RedisClient) Publish(ctx context.Context, channel string, message interface{}) *redis.IntCmd

Publish 将信息发送到指定的channel

func (*RedisClient) Set added in v1.0.15

func (r *RedisClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.StatusCmd

Set 设置一个key的值

func (*RedisClient) SetNX added in v1.0.15

func (r *RedisClient) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.BoolCmd

SetNX 如果key不存在,则设置这个key的值

func (*RedisClient) Subscribe added in v1.0.15

func (r *RedisClient) Subscribe(ctx context.Context, channels ...string) *redis.PubSub

Subscribe 订阅channel

type RedisClientCache added in v1.0.17

type RedisClientCache struct {
	GetterString    GttStringFunc    // 不存在的操作
	GetterInterface GttInterfaceFunc // 不存在的操作
	// contains filtered or unexported fields
}

RedisClientCache https://github.com/go-redis/redis

func (*RedisClientCache) GetInterface added in v1.0.17

func (rc *RedisClientCache) GetInterface(ctx context.Context, key string, result interface{})

GetInterface 缓存操作

func (*RedisClientCache) GetInterfaceKey added in v1.0.18

func (rc *RedisClientCache) GetInterfaceKey(ctx context.Context, key string, result interface{}) error

GetInterfaceKey 获取key值

func (*RedisClientCache) GetString added in v1.0.17

func (rc *RedisClientCache) GetString(ctx context.Context, key string) (ret string)

GetString 缓存操作

func (*RedisClientCache) SetInterfaceKey added in v1.0.18

func (rc *RedisClientCache) SetInterfaceKey(ctx context.Context, key string, value interface{}) (string, error)

SetInterfaceKey 设置key值

type RedisClientFun added in v1.0.37

type RedisClientFun func() *RedisClient

RedisClientFun *RedisClient 驱动

type RedisClientLock added in v1.0.20

type RedisClientLock struct {
	// contains filtered or unexported fields
}

RedisClientLock https://github.com/go-redis/redis

func (*RedisClientLock) Lock added in v1.0.21

func (rl *RedisClientLock) Lock(ctx context.Context, key string, val string, ttl time.Duration) (resp string, err error)

Lock 上锁 key 锁名 val 锁内容 ttl 锁过期时间

func (*RedisClientLock) LockForever added in v1.0.21

func (rl *RedisClientLock) LockForever(ctx context.Context, key string, val string) (resp string, err error)

LockForever 永远上锁 key 锁名 val 锁内容

func (*RedisClientLock) Unlock added in v1.0.21

func (rl *RedisClientLock) Unlock(ctx context.Context, key string) error

Unlock 解锁 key 锁名

type SimpleCache

type SimpleCache struct {
	Operation  *StringOperation // 操作类
	Expire     time.Duration    // 过去时间
	DBGetter   DBGttFunc        // 缓存不存在的操作 DB
	JsonGetter JsonGttFunc      // 缓存不存在的操作 JSON
	Serializer string           // 序列化方式
}

SimpleCache 缓存

func (*SimpleCache) GetCache

func (c *SimpleCache) GetCache(ctx context.Context, key string) (ret interface{})

GetCache 获取缓存

func (*SimpleCache) SetCache

func (c *SimpleCache) SetCache(ctx context.Context, key string, value interface{})

SetCache 设置缓存

type SimpleInterfaceCache

type SimpleInterfaceCache struct {
	Operation *SimpleOperation   // 操作类
	Expire    time.Duration      // 过期时间
	DBGetter  DBGttInterfaceFunc // 缓存不存在的操作 DB
}

SimpleInterfaceCache 缓存

func (*SimpleInterfaceCache) GetCache

func (c *SimpleInterfaceCache) GetCache(ctx context.Context, key string) (ret interface{})

GetCache 获取缓存

func (*SimpleInterfaceCache) SetCache

func (c *SimpleInterfaceCache) SetCache(ctx context.Context, key string, value interface{})

SetCache 设置缓存

type SimpleJsonCache

type SimpleJsonCache struct {
	Operation *StringOperation // 操作类
	Expire    time.Duration    // 过期时间
	DBGetter  DBGttJsonFunc    // 缓存不存在的操作 DB
}

SimpleJsonCache 缓存

func (*SimpleJsonCache) GetCache

func (c *SimpleJsonCache) GetCache(ctx context.Context, key string) (ret interface{})

GetCache 获取缓存

func (*SimpleJsonCache) SetCache

func (c *SimpleJsonCache) SetCache(ctx context.Context, key string, value interface{})

SetCache 设置缓存

type SimpleOperation

type SimpleOperation struct {
	// contains filtered or unexported fields
}

func (*SimpleOperation) Del

func (o *SimpleOperation) Del(ctx context.Context, keys ...string) *redis.IntCmd

Del 删除key操作,支持批量删除

func (*SimpleOperation) Get

Get 获取单个

func (*SimpleOperation) Set

func (o *SimpleOperation) Set(ctx context.Context, key string, value interface{}, attrs ...*OperationAttr) *SimpleResult

Set 设置

type SimpleResult

type SimpleResult struct {
	Result interface{}
	Err    error
}

func NewSimpleResult

func NewSimpleResult(result interface{}, err error) *SimpleResult

NewSimpleResult 构造函数

func (*SimpleResult) Unwrap

func (r *SimpleResult) Unwrap() interface{}

Unwrap 空值情况下返回错误

func (*SimpleResult) UnwrapOr

func (r *SimpleResult) UnwrapOr(defaults interface{}) interface{}

UnwrapOr 空值情况下设置返回默认值

func (*SimpleResult) UnwrapOrElse

func (r *SimpleResult) UnwrapOrElse(f func() interface{}) interface{}

UnwrapOrElse 空值情况下设置返回其他

type SimpleStringCache

type SimpleStringCache struct {
	Operation *StringOperation // 操作类
	Expire    time.Duration    // 过期时间
	DBGetter  DBGttStringFunc  // 缓存不存在的操作 DB
}

SimpleStringCache 缓存

func (*SimpleStringCache) GetCache

func (c *SimpleStringCache) GetCache(ctx context.Context, key string) (ret string)

GetCache 获取缓存

func (*SimpleStringCache) SetCache

func (c *SimpleStringCache) SetCache(ctx context.Context, key string, value string)

SetCache 设置缓存

type SliceResult

type SliceResult struct {
	Result []interface{}
	Err    error
}

func NewSliceResult

func NewSliceResult(result []interface{}, err error) *SliceResult

NewSliceResult 构造函数

func (*SliceResult) Iter

func (r *SliceResult) Iter() *Iterator

func (*SliceResult) Unwrap

func (r *SliceResult) Unwrap() []interface{}

Unwrap 空值情况下返回错误

func (*SliceResult) UnwrapOr

func (r *SliceResult) UnwrapOr(defaults []interface{}) []interface{}

UnwrapOr 空值情况下设置返回默认值

type StringOperation

type StringOperation struct {
	// contains filtered or unexported fields
}

func (*StringOperation) Del

func (o *StringOperation) Del(ctx context.Context, keys ...string) *redis.IntCmd

Del 删除key操作,支持批量删除

func (*StringOperation) Get

Get 获取单个

func (*StringOperation) MGet

func (o *StringOperation) MGet(ctx context.Context, keys ...string) *SliceResult

MGet 获取多个

func (*StringOperation) Set

func (o *StringOperation) Set(ctx context.Context, key string, value interface{}, attrs ...*OperationAttr) *StringResult

Set 设置

type StringResult

type StringResult struct {
	Result string // 结果
	Err    error  // 错误
}

func NewStringResult

func NewStringResult(result string, err error) *StringResult

NewStringResult 构造函数

func (*StringResult) Unwrap

func (r *StringResult) Unwrap() string

Unwrap 空值情况下返回错误

func (*StringResult) UnwrapOr

func (r *StringResult) UnwrapOr(defaults string) string

UnwrapOr 空值情况下设置返回默认值

func (*StringResult) UnwrapOrElse

func (r *StringResult) UnwrapOrElse(f func() string) string

UnwrapOrElse 空值情况下设置返回其他

type UpperClient

type UpperClient struct {
	Db *db.Session // 驱动
}

UpperClient https://upper.io/

func NewUpperMysqlClient

func NewUpperMysqlClient(settings mysql.ConnectionURL) (*UpperClient, error)

func NewUpperPostgresqlClient

func NewUpperPostgresqlClient(settings postgresql.ConnectionURL) (*UpperClient, error)

func (*UpperClient) GetDb added in v1.0.12

func (c *UpperClient) GetDb() *db.Session

GetDb 获取驱动

type XormClient

type XormClient struct {
	Db *xorm.Engine // 驱动
	// contains filtered or unexported fields
}

XormClient https://xorm.io/

func NewXormMysqlClient

func NewXormMysqlClient(config *ConfigXormClient) (*XormClient, error)

func NewXormPostgresClient

func NewXormPostgresClient(config *ConfigXormClient) (*XormClient, error)

func (*XormClient) GetDb added in v1.0.12

func (c *XormClient) GetDb() *xorm.Engine

GetDb 获取驱动

type XormClientSession

type XormClientSession struct {
	*xorm.Session
}

XormClientSession https://xorm.io/zh/docs/chapter-10/readme/

Jump to

Keyboard shortcuts

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