Documentation ¶
Index ¶
- func Register(db *Info)
- func RegisterTable(db *Table)
- func Remove(name string)
- func RemoveTable(name string)
- func UpdateName(cache map[string]string)
- type CacheType
- type DatabaseType
- type Group
- type IDO
- type ITableIndex
- type Ident
- type Info
- type Table
- func (t *Table) ByShard(key Ident) string
- func (t *Table) ByTime(key Ident) string
- func (t *Table) GroupByShard(ids []Ident, subKeys []Ident) (r map[string]*Group)
- func (t *Table) GroupByTime(ids []Ident, subKeys []Ident) (r map[string]*Group)
- func (t *Table) HasCache() bool
- func (t *Table) Long(key Ident) (name string)
- func (t *Table) Short() string
- func (t *Table) Valid() (err error)
- type TableMode
- type Time
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DatabaseType ¶
type DatabaseType int
const ( DatabaseType_Mongo DatabaseType = iota + 1 DatabaseType_Mysql )
func (DatabaseType) String ¶
func (db DatabaseType) String() string
type IDO ¶
type IDO interface { }
type ITableIndex ¶
type ITableIndex interface { }
==============================================================
type Info ¶
type Info struct { // Name string // 数据库的地址 Addr string // 类型 Type DatabaseType // contains filtered or unexported fields }
func (*Info) GetConnection ¶
从连接池中获取地址为[addr]的连接
type Table ¶
type Table struct { // 表名 Name string // 数据库信息的 Database string // 数据库的命名 // 用于游戏服务器可根据渠道命名,便于物理分离时的数据迁移 // ${Database}_${_channel} DatabaseName string // 分表模式 Mode TableMode // 主键 PrimaryKey string // 分表键 SubKey string // 新建 Parser func(map[string]interface{}) (interface{}, error) // 索引 Indexs map[int]interface{} // 缓存方式 CacheType CacheType // 缓存持续时间 CacheExpired time.Duration // 启用redis缓存 EnableRedis bool }
func (*Table) GroupByShard ¶
id集合按照shard的方式分组后的映射 键为表名,值为分组后的id集合
func (*Table) GroupByTime ¶
id集合按照time的方式分组后的映射 键值为表名,值为分组后的id集合
Click to show internal directories.
Click to hide internal directories.