Documentation ¶
Index ¶
- Variables
- func CountQuery(baseQuery string) string
- func EsScript(lang string, script string) func(data map[string]any) *elastic.Script
- func EsScriptID(id string) func(data map[string]any) *elastic.Script
- func EsSimple(host ...string) func(User, Pwd string) (*elastic.Client, error)
- func GetFieldMapValues[T any](obj any) map[string]T
- func GetFieldValues[T any](obj any) []T
- func GetJsonTags(obj any) []string
- func GetSqlTags(obj any) []string
- func GetTags(obj any, tag string) []string
- func NewCKLoc(ck *CKinfo) (driver.Conn, error)
- func ToT[T any](data []ElasticBluk[T]) []T
- func ToTOne[T any](data ElasticBluk[T]) T
- type CK
- type CKinfo
- type DB
- func (m *DB) Close()
- func (m *DB) Insert(q query.SqlInsert) func(ch chan []any) error
- func (m *DB) QueryArr(query *query.SQLBuilder) func() ([][]string, error)
- func (m *DB) QueryCount(query *query.SQLBuilder) (int, error)
- func (m *DB) QueryField(query *query.SQLBuilder) ([]string, error)
- func (m *DB) QueryIter(query *query.SQLBuilder) func() (chan []string, chan error)
- func (m *DB) QueryOne(query *query.SQLBuilder) func() ([]string, error)
- func (m *DB) QueryTwo(query *query.SQLBuilder) func() (map[string]string, error)
- func (m *DB) QueryVector(query *query.SQLBuilder) func() ([][]string, error)
- type ElasticBluk
- type ElasticSearchClient
- func (es *ElasticSearchClient[U]) BulkInsert() func(ch chan ElasticBluk[U]) error
- func (es *ElasticSearchClient[U]) Indexs() chan string
- func (es *ElasticSearchClient[U]) QueryIter(index string, q any) (chan ElasticBluk[U], chan error)
- func (es *ElasticSearchClient[U]) QueryIterShard(index string, q any) (chan ElasticBluk[U], chan error)
- type Http
- type MysqlDB
- type Redis
- func (r *Redis[T]) Clear(t bool) *Redis[T]
- func (r *Redis[T]) Close() error
- func (r *Redis[T]) Context(ctx context.Context) *Redis[T]
- func (r *Redis[T]) LLen(key string) (int64, error)
- func (r *Redis[T]) PopList(key string, num int) (chan T, chan error)
- func (r *Redis[T]) PushList(key string, data chan T) error
- type TableInfo
Constants ¶
This section is empty.
Variables ¶
var (
ModifyFunTemp = array.ToAny[[]string]
)
Functions ¶
func EsScript ¶
EsScript 返回一个 Elasticsearch 脚本 参数:
- lang: 脚本语言
- script: 脚本内容
- data: 脚本参数
返回:
- *elastic.Script: Elasticsearch 脚本
func EsScriptID ¶
EsScriptID 返回一个 Elasticsearch 脚本 参数:
- id: 脚本 ID
- data: 脚本参数
返回:
- *elastic.Script: Elasticsearch 脚本
func EsSimple ¶
EsSimple 返回一个简单的 Elasticsearch 客户端 参数:
- host: Elasticsearch 地址 ( http://localhost:9200)
- User: Elasticsearch 用户名
- Pwd: Elasticsearch 密码
返回:
- *elastic.Client: Elasticsearch 客户端
func ToT ¶
func ToT[T any](data []ElasticBluk[T]) []T
ToT 将 ElasticBluk[T] 转换为 []T 参数:
- data: ElasticBluk[T]
返回:
- []T
Types ¶
type DB ¶
MysqlDB 定义了一个与MySQL数据库交互的结构体。
func (*DB) Insert ¶
Insert 方法从一个通道接收数据,并批量插入到 MySQL 数据库中。 参数:
ch - 一个通道,用于接收待插入的数据。 stop - 一个信号通道,用于控制插入操作的停止。
返回:
一个函数,接受一个 SqlInsert 类型的参数,执行数据库插入操作。
func (*DB) QueryArr ¶
func (m *DB) QueryArr(query *query.SQLBuilder) func() ([][]string, error)
QueryArr 方法执行一个 SQL 查询语句,并返回查询结果的所有列数据。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
一个函数,无参数,返回查询结果的所有列数据和可能的错误。
func (*DB) QueryCount ¶
func (m *DB) QueryCount(query *query.SQLBuilder) (int, error)
QueryCount 方法执行一个 SQL 查询语句,并返回查询结果的行数。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
查询结果的行数和可能的错误。
func (*DB) QueryField ¶
func (m *DB) QueryField(query *query.SQLBuilder) ([]string, error)
func (*DB) QueryIter ¶
func (m *DB) QueryIter(query *query.SQLBuilder) func() (chan []string, chan error)
QueryIter 方法执行一个 SQL 查询语句,并通过一个通道逐行返回查询结果的所有列数据。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
一个函数,返回一个通道,用于发送查询结果的每一行数据,以及可能的错误。
func (*DB) QueryOne ¶
func (m *DB) QueryOne(query *query.SQLBuilder) func() ([]string, error)
QueryOne 方法执行一个 SQL 查询语句,并返回查询结果的第一列数据。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
一个函数,无参数,返回查询结果的第一列数据和可能的错误。
func (*DB) QueryTwo ¶
QueryTwo 方法执行一个 SQL 查询语句,并返回查询结果的两列数据作为键值对的映射。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
一个函数,无参数,返回查询结果的两列数据作为键值对的映射和可能的错误。
func (*DB) QueryVector ¶
func (m *DB) QueryVector(query *query.SQLBuilder) func() ([][]string, error)
QueryVector 方法执行一个 SQL 查询语句,并返回查询结果的每一列数据。 参数:
sql - *SQLBuilder 类型的结构体,用于构建 SQL 查询语句。
返回:
一个函数,无参数,返回查询结果的每一列数据和可能的错误。 查询结果的每一列数据是一个二维切片,其中每一行是一个一维切片,代表查询结果的一列数据。
type ElasticBluk ¶
type ElasticSearchClient ¶
type ElasticSearchClient[U any] struct { Client *elastic.Client }
定义一个 ElasticSearchClient 的结构体
func NewElasticSearchClient ¶
func NewElasticSearchClient[U any](client *elastic.Client) *ElasticSearchClient[U]
创建 ElasticSearchClient 实例的工厂函数
func (*ElasticSearchClient[U]) BulkInsert ¶
func (es *ElasticSearchClient[U]) BulkInsert() func(ch chan ElasticBluk[U]) error
func (*ElasticSearchClient[U]) Indexs ¶
func (es *ElasticSearchClient[U]) Indexs() chan string
func (*ElasticSearchClient[U]) QueryIter ¶
func (es *ElasticSearchClient[U]) QueryIter(index string, q any) (chan ElasticBluk[U], chan error)
QueryIter 参数:
index: 索引名称 q: 查询条件 , 支持 string 和 *query.EsQuery, elastic.Query
返回:
chan ElasticBluk[U]: 查询结果通道 chan error: 错误通道
func (*ElasticSearchClient[U]) QueryIterShard ¶
func (es *ElasticSearchClient[U]) QueryIterShard(index string, q any) (chan ElasticBluk[U], chan error)
QueryIterShard 查询分片数量并执行 Query 参数:
index: 索引名称 不能使用别名 q: 查询条件 , 支持 string 和 *query.EsQuery, elastic.Query
返回:
chan ElasticBluk[U]: 查询结果通道 chan error: 错误通道
type MysqlDB ¶
type MysqlDB struct { DB // contains filtered or unexported fields }
func NewMysqlDB ¶
NewMysqlDB 创建一个新的MysqlDB实例,通过建立与MySQL数据库的连接。 参数:
con - 用于连接到MySQL数据库的连接字符串。
返回:
指向新创建的MysqlDB实例的指针。