dorm

package
v1.0.51 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2022 License: MIT Imports: 33 Imported by: 0

Documentation

Index

Constants

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

Variables

This section is empty.

Functions

func JsonDecodeNoError

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

JsonDecodeNoError Json解码,不报错

func XmlDecodeNoError

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

XmlDecodeNoError Xml解码,不报错

Types

type BsonTime

type BsonTime time.Time

BsonTime 类型

func (BsonTime) MarshalBSONValue

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

MarshalBSONValue 实现bson序列化

func (BsonTime) MarshalJSON

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

MarshalJSON 实现json序列化

func (*BsonTime) UnmarshalBSONValue

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

UnmarshalBSONValue 实现bson反序列化

func (*BsonTime) UnmarshalJSON

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

UnmarshalJSON 实现json反序列化

func (BsonTime) Value

func (t 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.51

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

GetDb 获取驱动

type ConfigBunClient

type ConfigBunClient struct {
	Dns string // 地址
}

type ConfigGormClient

type ConfigGormClient struct {
	Dns string // 地址
	Log struct {
		Status        bool   // 状态
		Path          string // 路径
		Slow          int64  // 慢SQL阈值
		Level         string // 级别
		NotFoundError bool   // 忽略ErrRecordNotFound(记录未找到)错误
		Colorful      bool   // 禁用彩色打印
	} // 日志
	Conn struct {
		SetMaxIdle         int   // 设置空闲连接池中连接的最大数量
		SetMaxOpen         int   // 设置打开数据库连接的最大数量
		SetConnMaxLifetime 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    // 连接池大小
}

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 FindManyResult

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

func (*FindManyResult) Many

func (f *FindManyResult) Many(result interface{}) error

type FindManyResultI

type FindManyResultI interface {
	Many(result interface{}) error
}

type FindOneResult

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

func (*FindOneResult) One

func (f *FindOneResult) One(result interface{}) error

type FindOneResultI

type FindOneResultI interface {
	One(result interface{}) error
}

type FindResult

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

func (*FindResult) Many

func (f *FindResult) Many(result interface{}) error

type FindResultI

type FindResultI interface {
	Many(result interface{}) error
}

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 GttInterfaceFunc added in v1.0.51

type GttInterfaceFunc func() interface{}

GttInterfaceFunc Interface缓存结构

type GttStringFunc added in v1.0.51

type GttStringFunc func() string

GttStringFunc String缓存结构

type HashOperation

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

func NewHashOperation

func NewHashOperation(db *redis.Client, ctx context.Context) *HashOperation

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

func (*HashOperation) Get

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

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

func (*HashOperation) Set

func (cl *HashOperation) Set(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) AggregateByFiltersSort

func (c *MongoClient) AggregateByFiltersSort(pipeline interface{}) (result *mongo.Cursor, err error)

AggregateByFiltersSort 统计分析

func (*MongoClient) Begin

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

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

func (*MongoClient) Close

func (c *MongoClient) Close() error

Close 关闭

func (*MongoClient) Collection

func (c *MongoClient) Collection(collectionName string) *MongoClient

Collection 设置表名

func (*MongoClient) CollectionCount

func (c *MongoClient) CollectionCount() (name string, size int64)

CollectionCount 查询集合里有多少数据

func (*MongoClient) CollectionDocuments

func (c *MongoClient) CollectionDocuments(Skip, Limit int64, sort int, key string, value interface{}) (result *mongo.Cursor, err error)

CollectionDocuments 按选项查询集合 Skip 跳过 Limit 读取数量 sort 1 ,-1 . 1 为升序 , -1 为降序

func (*MongoClient) CountDocumentsByFilters

func (c *MongoClient) CountDocumentsByFilters(filter interface{}) (count int64, err error)

CountDocumentsByFilters 统计数量

func (*MongoClient) Database

func (c *MongoClient) Database(databaseName string) *MongoClient

Database 设置库名

func (*MongoClient) Delete

func (c *MongoClient) Delete(filter interface{}) (err error)

Delete 删除文档

func (*MongoClient) DeleteId

func (c *MongoClient) DeleteId(id interface{}) (err error)

DeleteId 删除文档

func (*MongoClient) DeleteMany

func (c *MongoClient) DeleteMany(filter interface{}) (result *mongo.DeleteResult, err error)

DeleteMany 删除多个文档

func (*MongoClient) Find

func (c *MongoClient) Find(filter interface{}) (*mongo.Cursor, error)

Find 查询

func (*MongoClient) FindCollection

func (c *MongoClient) FindCollection(Limit int64) (result *mongo.Cursor, err error)

FindCollection 查询集合文档

func (*MongoClient) FindCollectionSort

func (c *MongoClient) FindCollectionSort(Sort interface{}, Limit int64) (result *mongo.Cursor, err error)

FindCollectionSort 查询集合文档支持排序

func (*MongoClient) FindMany

func (c *MongoClient) FindMany(filter interface{}) (*mongo.Cursor, error)

FindMany 查询多个文档

func (*MongoClient) FindManyByFilters

func (c *MongoClient) FindManyByFilters(filter interface{}) (result *mongo.Cursor, err error)

FindManyByFilters 多条件查询

func (*MongoClient) FindManyByFiltersSort

func (c *MongoClient) FindManyByFiltersSort(filter interface{}, Sort interface{}) (result *mongo.Cursor, err error)

FindManyByFiltersSort 多条件查询支持排序

func (*MongoClient) FindManyCollectionSort

func (c *MongoClient) FindManyCollectionSort(filter interface{}, Sort interface{}) (result *mongo.Cursor, err error)

FindManyCollectionSort 查询集合文档支持排序支持条件

func (*MongoClient) FindOne

func (c *MongoClient) FindOne(filter interface{}) *mongo.SingleResult

FindOne 查询单个文档

func (*MongoClient) GetDb

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

GetDb 获取驱动

func (*MongoClient) InsertMany

func (c *MongoClient) InsertMany(documents []interface{}) (result *mongo.InsertManyResult, err error)

InsertMany 插入多个文档

func (*MongoClient) InsertOne

func (c *MongoClient) InsertOne(document interface{}) (result *mongo.InsertOneResult, err error)

InsertOne 插入一个文档

func (*MongoClient) Model

func (c *MongoClient) Model(value interface{}) *MongoClient

Model 传入模型自动获取库名和表名

func (*MongoClient) UpdateId

func (c *MongoClient) UpdateId(id interface{}, update interface{}) (err error)

UpdateId 更新单个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

func (*MongoClient) UpdateMany

func (c *MongoClient) UpdateMany(filter interface{}, update interface{}) (result *mongo.UpdateResult, err error)

UpdateMany 更新多个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

func (*MongoClient) UpdateOne

func (c *MongoClient) UpdateOne(filter interface{}, update interface{}) (err error)

UpdateOne 更新单个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

type MongoTransaction

type MongoTransaction struct {
	Session mongo.SessionContext
	// contains filtered or unexported fields
}

func (*MongoTransaction) AggregateByFiltersSort

func (ms *MongoTransaction) AggregateByFiltersSort(pipeline interface{}) (result *mongo.Cursor, err error)

AggregateByFiltersSort 统计分析

func (*MongoTransaction) Close

func (ms *MongoTransaction) Close()

Close 关闭会话

func (*MongoTransaction) Collection

func (ms *MongoTransaction) Collection(collectionName string) *MongoTransaction

Collection 设置表名

func (*MongoTransaction) CollectionCount

func (ms *MongoTransaction) CollectionCount(ctx context.Context) (name string, size int64)

CollectionCount 查询集合里有多少数据

func (*MongoTransaction) CollectionDocuments

func (ms *MongoTransaction) CollectionDocuments(Skip, Limit int64, sort int, key string, value interface{}) (result *mongo.Cursor, err error)

CollectionDocuments 按选项查询集合 Skip 跳过 Limit 读取数量 sort 1 ,-1 . 1 为升序 , -1 为降序

func (*MongoTransaction) Commit

func (ms *MongoTransaction) Commit() error

Commit 提交事务

func (*MongoTransaction) CountDocumentsByFilters

func (ms *MongoTransaction) CountDocumentsByFilters(filter interface{}) (count int64, err error)

CountDocumentsByFilters 统计数量

func (*MongoTransaction) Database

func (ms *MongoTransaction) Database(databaseName string) *MongoTransaction

Database 设置库名

func (*MongoTransaction) Delete

func (ms *MongoTransaction) Delete(filter interface{}) (err error)

Delete 删除文档

func (*MongoTransaction) DeleteId

func (ms *MongoTransaction) DeleteId(id interface{}) (err error)

DeleteId 删除文档

func (*MongoTransaction) DeleteMany

func (ms *MongoTransaction) DeleteMany(key string, value interface{}) (result *mongo.DeleteResult, err error)

DeleteMany 删除多个文档

func (*MongoTransaction) Find

func (ms *MongoTransaction) Find(filter interface{}) (*mongo.Cursor, error)

Find 查询

func (*MongoTransaction) FindCollection

func (ms *MongoTransaction) FindCollection(Limit int64) (result *mongo.Cursor, err error)

FindCollection 查询集合文档

func (*MongoTransaction) FindCollectionSort

func (ms *MongoTransaction) FindCollectionSort(Sort interface{}, Limit int64) (result *mongo.Cursor, err error)

FindCollectionSort 查询集合文档支持排序

func (*MongoTransaction) FindMany

func (ms *MongoTransaction) FindMany(filter interface{}) (*mongo.Cursor, error)

FindMany 查询多个文档

func (*MongoTransaction) FindManyByFilters

func (ms *MongoTransaction) FindManyByFilters(filter interface{}) (result *mongo.Cursor, err error)

FindManyByFilters 多条件查询

func (*MongoTransaction) FindManyByFiltersSort

func (ms *MongoTransaction) FindManyByFiltersSort(filter interface{}, Sort interface{}) (result *mongo.Cursor, err error)

FindManyByFiltersSort 多条件查询支持排序

func (*MongoTransaction) FindManyCollectionSort

func (ms *MongoTransaction) FindManyCollectionSort(filter interface{}, Sort interface{}) (result *mongo.Cursor, err error)

FindManyCollectionSort 查询集合文档支持排序支持条件

func (*MongoTransaction) FindOne

func (ms *MongoTransaction) FindOne(filter interface{}) *mongo.SingleResult

FindOne 查询单个文档

func (*MongoTransaction) InsertMany

func (ms *MongoTransaction) InsertMany(documents []interface{}) (result *mongo.InsertManyResult, err error)

InsertMany 插入多个文档

func (*MongoTransaction) InsertOne

func (ms *MongoTransaction) InsertOne(document interface{}) (result *mongo.InsertOneResult, err error)

InsertOne 插入一个文档

func (*MongoTransaction) Model

func (ms *MongoTransaction) Model(value interface{}) *MongoTransaction

Model 传入模型自动获取库名和表名

func (*MongoTransaction) Rollback

func (ms *MongoTransaction) Rollback() error

Rollback 回滚事务

func (*MongoTransaction) UpdateId

func (ms *MongoTransaction) UpdateId(id interface{}, update interface{}) (err error)

UpdateId 更新单个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

func (*MongoTransaction) UpdateMany

func (ms *MongoTransaction) UpdateMany(filter interface{}, update interface{}) (result *mongo.UpdateResult, err error)

UpdateMany 更新多个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

func (*MongoTransaction) UpdateOne

func (ms *MongoTransaction) UpdateOne(filter interface{}, update interface{}) (err error)

UpdateOne 更新单个文档 修改字段的值($set) 字段增加值 inc($inc) 从数组中增加一个元素 push($push) 从数组中删除一个元素 pull($pull)

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.51

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.51

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

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

func (*RedisClient) DecrBy added in v1.0.51

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

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

func (*RedisClient) Del added in v1.0.51

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

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

func (*RedisClient) Get added in v1.0.51

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.51

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

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

func (*RedisClient) Incr added in v1.0.51

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

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

func (*RedisClient) IncrBy added in v1.0.51

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

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

func (*RedisClient) Keys added in v1.0.51

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

Keys 按前缀获取所有 key

func (*RedisClient) MGet added in v1.0.51

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

MGet 批量查询key的值

func (*RedisClient) MSet added in v1.0.51

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.51

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

NewCache 实例化

func (*RedisClient) NewCacheDefaultExpiration added in v1.0.51

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) 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.51

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

PSubscribe 订阅channel支持通配符匹配

func (*RedisClient) PubSubChannels added in v1.0.51

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

PubSubChannels 查询活跃的channel

func (*RedisClient) PubSubNumSub added in v1.0.51

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

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

func (*RedisClient) Publish added in v1.0.51

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

Publish 将信息发送到指定的channel

func (*RedisClient) Set added in v1.0.51

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.51

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.51

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

Subscribe 订阅channel

type RedisClientCache added in v1.0.51

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.51

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

GetInterface 缓存操作

func (*RedisClientCache) GetInterfaceKey added in v1.0.51

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

GetInterfaceKey 获取key值

func (*RedisClientCache) GetString added in v1.0.51

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

GetString 缓存操作

func (*RedisClientCache) SetInterfaceKey added in v1.0.51

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

SetInterfaceKey 设置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(key string) (ret interface{})

GetCache 获取缓存

func (*SimpleCache) SetCache

func (c *SimpleCache) SetCache(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(key string) (ret interface{})

GetCache 获取缓存

func (*SimpleInterfaceCache) SetCache

func (c *SimpleInterfaceCache) SetCache(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(key string) (ret interface{})

GetCache 获取缓存

func (*SimpleJsonCache) SetCache

func (c *SimpleJsonCache) SetCache(key string, value interface{})

SetCache 设置缓存

type SimpleOperation

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

func (*SimpleOperation) Del

func (o *SimpleOperation) Del(keys ...string) *redis.IntCmd

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

func (*SimpleOperation) Get

func (o *SimpleOperation) Get(key string) *SimpleResult

Get 获取单个

func (*SimpleOperation) Set

func (o *SimpleOperation) Set(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(key string) (ret string)

GetCache 获取缓存

func (*SimpleStringCache) SetCache

func (c *SimpleStringCache) SetCache(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(keys ...string) *redis.IntCmd

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

func (*StringOperation) Get

func (o *StringOperation) Get(key string) *StringResult

Get 获取单个

func (*StringOperation) MGet

func (o *StringOperation) MGet(keys ...string) *SliceResult

MGet 获取多个

func (*StringOperation) Set

func (o *StringOperation) Set(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.51

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.51

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