mouselib

package module
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2022 License: MIT Imports: 20 Imported by: 0

README

mouselib

自己的 golang 库,练手用,在实践中完善 💪💪💪

  • ☁️ k8s 客户端的初始化以及简化操作 API
  • 📒 基于 zerolog 的定制 logger
  • ⚙️ mysql 的 sql 生成器,包括 DLL 和 DML
  • 🔧 工具函数

Documentation

Index

Constants

View Source
const (
	Col     = "col"
	Primary = "primary"
	Unique  = "unique"
	Auto    = "auto"
	Null    = "null"
	Default = "default"
	Comment = "comment"
	StrLen  = "strlen"
	LongStr = "longstr"

	DEFAULT_STR_LEN = 200

	INNODB = "innodb"
)

Variables

This section is empty.

Functions

func CamelToUnderline added in v0.0.6

func CamelToUnderline(title string) string

CamelToUnderline 驼峰命名转换为下划线命名

func CommandLogger added in v0.0.6

func CommandLogger(level string) (zerolog.Logger, error)

CommandLogger 命令行logger,可以直接使用,默认level为DEBUG

func CreateTopic added in v0.0.13

func CreateTopic(brokers string, topic string, partition int32, replica int16) error

CreateTopic 创建topic

func CustomConsumer added in v0.0.14

func CustomConsumer(brokers string, group string, config *sarama.Config) (sarama.ConsumerGroup, error)

func DefaultConsumer added in v0.0.12

func DefaultConsumer(brokers string, group string) (sarama.ConsumerGroup, error)

func DefaultConsumerConfig added in v0.0.13

func DefaultConsumerConfig() *sarama.Config

func DefaultProducer added in v0.0.13

func DefaultProducer(brokers string) (sarama.SyncProducer, error)

func DefaultProducerConfig added in v0.0.13

func DefaultProducerConfig() *sarama.Config

func Del added in v0.0.9

func Del(rds *redis.Client, keys ...string) error

Del 获取单个string值

func FileLogger added in v0.0.6

func FileLogger(filePath string, roll int, level string) (zerolog.Logger, error)

FileLogger 文件logger,错误必须处理,如果路径无效则创建logger失败 目前固定每天归档日志

func GoTypeToMysqlColType added in v0.0.6

func GoTypeToMysqlColType(t reflect.Type, longText bool, strLen int) string

GoTypeToMysqlColType 返回mysql中对应golang类型的类型,如果不存在则返回空字符串

func HashDel added in v0.0.9

func HashDel(rds *redis.Client, key string, fields ...string) error

HashDel 删除hash中某些属性的值

func HashGet added in v0.0.9

func HashGet(rds *redis.Client, key string, field string) string

HashGet 获取hash中某个属性的值

func HashGetAll added in v0.0.9

func HashGetAll(rds *redis.Client, key string) map[string]string

HashGetAll 获取hash的所有值

func HashKeys added in v0.0.9

func HashKeys(rds *redis.Client, key string) []string

HashKeys 获取hash中所有的key

func HashLen added in v0.0.9

func HashLen(rds *redis.Client, key string) int

HashLen 获取hash的长度

func HashSet added in v0.0.9

func HashSet(rds *redis.Client, key string, kv map[string]string) error

HashSet 插入hash值

func InitDynamic

func InitDynamic(inCluster bool) (dynamic.Interface, error)

InitDynamic 初始化k8s的dynamic,用户实现无结构的资源操作

inCluster 是否在集群中部署

func InitK8sClient

func InitK8sClient(inCluster bool) (*kubernetes.Clientset, error)

InitK8sClient 初始化k8s的client

inCluster 是否在集群中部署

func Keys added in v0.0.9

func Keys(rds *redis.Client, query string) []string

Keys 查询keys

func ListLen added in v0.0.9

func ListLen(rds *redis.Client, key string, start, end int64) int

ListLen 查找列表的长度

func ListLpop added in v0.0.9

func ListLpop(rds *redis.Client, key string) string

ListLpop 列表头移除值并返回

func ListModify added in v0.0.9

func ListModify(rds *redis.Client, key string, idx int64, newVal string) error

ListModify 根据索引值修改列表的值

func ListRange added in v0.0.9

func ListRange(rds *redis.Client, key string, start, end int64) []string

ListRange 查找列表的值

func ListRpop added in v0.0.9

func ListRpop(rds *redis.Client, key string) string

ListRpop 列表尾移除值并返回

func ListSetAndLpush added in v0.0.9

func ListSetAndLpush(rds *redis.Client, key string, vals ...string) error

ListSet 创建一个列表

func Lock added in v0.0.9

func Lock(rds *redis.Client, key string, exp time.Duration) bool

Lock 获取锁

func NewRedisClient added in v0.0.9

func NewRedisClient(addr string, db int) *redis.Client

func RegisterTable added in v0.0.6

func RegisterTable(tb any, comment string)

RegisterType 创建并执行建表语句,表不存在时创建,存在则更新

func SetUp added in v0.0.3

func SetUp(config MouseConfig) error

SetUp 初始化库中的一些全局变量以及初始化客户端需要的参数,不显式调用则使用默认值

func StrGet added in v0.0.9

func StrGet(rds *redis.Client, key string) string

StrGet 获取单个string值

func StrSet added in v0.0.9

func StrSet(rds *redis.Client, key, val string) error

StrSet 设置单个string值

func UnLock added in v0.0.9

func UnLock(rds *redis.Client, key string) error

UnLock 释放锁

func WriteFile added in v0.0.2

func WriteFile(path string, data []byte) error

WriteFile 在指定路径写入数据

func ZCard added in v0.0.9

func ZCard(rds *redis.Client, key string) int

ZCard 获取zset的值的个数

func ZCount added in v0.0.9

func ZCount(rds *redis.Client, key string, min, max float64) int

ZCount 根据score获取范围内值的个数

func ZRange added in v0.0.9

func ZRange(rds *redis.Client, key string, min, max float64) []string

ZRange 根据score范围获取所有的值

func ZSetAdd added in v0.0.9

func ZSetAdd(rds *redis.Client, key string, members map[float64]string) error

ZSetAdd 创建/添加zset值

Types

type Base added in v0.0.6

type Base struct {
	CreateTime time.Time `col:"create_time"`
	UpdateTime time.Time `col:"update_time"`
}

type ColumnInfo added in v0.0.6

type ColumnInfo struct {
	ColName    string
	ColType    string
	IsPrimary  bool
	IsUnique   bool
	IsAuto     bool
	IsNull     bool
	DefaultVal string
	Comment    string
}

func ExtractColFromTableType added in v0.0.6

func ExtractColFromTableType(tb any) ([]ColumnInfo, error)

func GroupColInfo added in v0.0.6

func GroupColInfo(t reflect.Type) ([]ColumnInfo, error)

type Create added in v0.0.6

type Create struct {
	TableMeta   TableMetaData
	TableCols   []ColumnInfo
	MaxColIdx   int
	MaxIndexIdx int
}

type FileLoggerWriter added in v0.0.3

type FileLoggerWriter struct {
	Debug io.Writer
	Info  io.Writer
	Warn  io.Writer
	Error io.Writer
	Fatal io.Writer
	// contains filtered or unexported fields
}

func NewFileLoggerWriter added in v0.0.3

func NewFileLoggerWriter(filePath string, roll int, level zerolog.Level) (*FileLoggerWriter, error)

func (*FileLoggerWriter) Write added in v0.0.3

func (f *FileLoggerWriter) Write(p []byte) (n int, err error)

type KafkaErr added in v0.0.13

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

func KafkaError added in v0.0.13

func KafkaError(msg string, err error) KafkaErr

func (KafkaErr) Error added in v0.0.13

func (e KafkaErr) Error() string

type MouseConfig added in v0.0.3

type MouseConfig struct {
	Mode    string
	LogPath string
}

MouseConfig mouselib全局配置

Mode 模式,debug/prod,测试和生产均使用prod

LogPath 日志存储位置

type MouseMysqlErr added in v0.0.6

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

func NewMysqlErr added in v0.0.6

func NewMysqlErr(msg string, e error) MouseMysqlErr

func (MouseMysqlErr) Error added in v0.0.6

func (e MouseMysqlErr) Error() string

type Student added in v0.0.6

type Student struct {
	Id    int64     `col:"id" primary:"true" auto:"true"`
	Name  string    `col:"name" unique:"true"`
	Age   int       `col:"age"`
	Birth time.Time `col:"birth"`

	Base
}

type TableMetaData added in v0.0.6

type TableMetaData struct {
	TableName  string
	Comment    string
	EngineInfo string
}

func ExtractTableInfo added in v0.0.6

func ExtractTableInfo(tb any, comment string) (*TableMetaData, error)

Jump to

Keyboard shortcuts

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