orm表
function M:new(tab_name)
描述
新建表对象
参数
- tab_name string 作用与数据库的表名
返回值
- table obj
function M:___FIELD_TYPE(field_name)
描述
设置字段 FIELD_TYPE对应字段类型 有 int8|int16|int32|int64|uint8|uint16|uint32|string32|string64|string128|string256|string512|string1024|string2048|string4096|string8192|text|blob|table
参数
- field_name string 字段名
返回值
- table obj
function M:set_keys(…)
描述
设置主键
参数
- … string 字段名列表 填入遵从最左前缀原则
返回值
- table obj
function M:set_index(index_name, …)
描述
设置普通索引
参数
- index_name string 索引名称
- … string[] 字段名列表 建立关联索引 填入遵从最左前缀原则
返回值
- table obj
function M:set_cache(expire, inval, cache_limit)
描述
设置缓存时间
参数
- expire number 过期时间 100表示1秒 get_*相关接口会重置对应被获取的entry的过期时间
- inval number 被修改后的保存检查间隔 调用了entry:set
- cache_limit number 缓存总量限制,超出会优先释放快到期的缓存
返回值
- table obj
function M:builder(adapterinterface)
描述
构建表
参数
- adapterinterface number 数据库适配接口
返回值
- table obj
function M:create_entry(entry_data_list)
描述
批量创建新数据
参数
- entry_data_list table 数据列表
返回值
- table obj
function M:create_one_entry(entry_data)
描述
创建一条数据
参数
- entry_data table 一条数据表
返回值
- table obj
function M:get_entry(…)
描述
查询多条数据 format[select * from tab_name where key1 = ? and key2 = ?]
参数
- … string[] 最左前缀的 key 列表
返回值
function M:get_one_entry(…)
描述
查询一条数据 查询单条数据,必须提供所有主键 format[select * from tab_name where key1 = ? and key2 = ?]
参数
- … string[] 最左前缀的 key 列表
返回值
- table obj(ormentry)
function M:save_entry(entry_list)
描述
立即保存数据
参数
- entry_list table ormentry对象列表
返回值
- table 保存结果索引对应值 成功true失败false
function M:save_one_entry(entry)
描述
立即保存一条数据
参数
- entry table ormentry对象
返回值
- boolean 成功true失败false
function M:delete_entry(…)
描述
删除数据 format[delete * from tab_name where key1 = ? and key2 = ?]
参数
- … string[] 最左前缀的 key 列表
返回值
- boolean 成功true失败false
function M:get_all_entry()
描述
查询所有数据
参数
返回值
function M:delete_all_entry()
描述
删除所有数据
参数
返回值
- boolean 成功true失败false
function M:save_change_now()
描述
立即保存所有修改,直到成功为止
参数
返回值
function M:get_entry_by_data(entry_data)
描述
通过数据获得entry
参数
- entry_data table 数据表
返回值
- table obj(ormentry)
function M:is_inval_save()
描述
是否启用了间隔保存
参数
返回值
- boolean
function M:get_entry_by_limit(cursor, limit, sort, …)
描述
分页查询 format[select * from tab_name where key1 = ? and key2 > ? order by ? desc limit ?]
参数
- cursor number|string 游标
- limit number 数量限制
- sort number 1升序 -1降序
- … string[] 最左前缀主键列表 key1 key2 … 不填入的key作为游标
返回值
function M:get_entry_by_in(in_values, …)
描述
IN 查询 format[select * from tab_name where key1 = ? and key2 = ? and key3 in (?,?,?)]
参数
- in_values table in对应的值列表
- … string[] 最左前缀主键列表 无需填入in_values的key
返回值
范围删除 包含left right
可以有三种操作方式
[left, right] 范围删除 >= left <= right
[left, nil] 删除 >= left
[nil, right] 删除 <= right
format[delete from player where key1=? and key2>=? and key2<=?;]
function M:delete_entry_by_range(left, right, …)
描述
范围删除 包含left right 可以有三种操作方式 [left, right] 范围删除 >= left <= right [left, nil] 删除 >= left [nil, right] 删除 <= right
参数
- left string|number|nil 左值
- right string|number|nil 右值
- … string[] 最左前缀主键列表 无需填入left right值 对应的key
返回值
- boolean
function M:delete_entry_by_in(in_values, …)
描述
IN 删除 format[delete from tab_name where key1 = ? and key2 = ? and key3 in (?,?,?)]
参数
- in_values table in对应的值列表
- … string[] 最左前缀主键列表 无需填入in_values的key
返回值
- boolean
function M:batch_delete_entry(keys_list)
描述
批量删除 format [delete from tab_name where (key1 = ? and key2 = ?) or (key1 = ? and key2 = ?)]
参数
- keys_list table 最左前缀主键列表
{{key1,key2,...},{key1,key2,...}}
返回值
- table boolean 执行结果
function M:batch_delete_entry_by_range(query_list)
描述
��量范围删除 format [delete from tab_name where (key1 = ? and key2 >= ? and key2 <= ?) or (key1 = ? and key2 >= ? and key2 <= ?)]
key长度必须一致, left,right 有无必须一致
参数
- query_list table
{{left = 1, right = 10, key_values = {10001, 10002}}, {left = 1, right = 10, key_values = {10001, 10002}}} key1[10001], key2[10002] key3[left, right]}}
返回值
- table boolean 执行结果
function M:idx_get_entry(query)
描述
通过普通索引查询,设置缓存的情况下,也会先查询数据库 format select * from tab_name where (key1 = ? and key2 = ?)
参数
- query table 索引值 [key1 = xxx, key2 = xxx]
返回值
- table 查询结果列表
function M:idx_get_entry_by_limit(cursor, limit, sort, sort_field_name, query)
描述
基于普通索引分页查询 format[select * from tab_name where key1 = ? and key2 > ? order by ? desc limit ?]
参数
- cursor number|string 游标
- limit number 数量限制
- sort number 1升序 -1降序
- sort_field_name string 排序字段名
- query? table 索引值 [key1 = xxx, key2 = xxx]
返回值
function M:idx_delete_entry(query)
描述
通过普通索引删除数据 format delete from tab_name where (key1 = ? and key2 = ?)
参数
- query table 索引值 [key1 = xxx, key2 = xxx]
返回值
- boolean 删除结果
范围查询 包含left right
可以有三种操作方式
[left, right] 范围查询 >= left <= right
[left, nil] 查询 range_field_name >= left
[nil, right] 查询 range_field_name <= right
format[select * from player where key1=? and key2>=? and key2<=?;]
function M:idx_get_entry_by_range(left, right, range_field_name, query)
描述
范围查询 包含left right 可以有三种操作方式 [left, right] 范围查询
参数
- left string|number|nil 左值
- right string|number|nil 右值
- range_field_name string 基于该索引值范围
- query table 前置的普通索引查询
返回值
- boolean
范围删除 包含left right
可以有三种操作方式
[left, right] 范围删除 >= left <= right
[left, nil] 删除 >= left
[nil, right] 删除 <= right
format[delete from player where key1=? and key2>=? and key2<=?;]
function M:idx_delete_entry_by_range(left, right, range_field_name, query)
描述
范围删除 包含left right 可以有三种操作方式 [left, right] 范围删除
参数
- left string|number|nil 左值
- right string|number|nil 右值
- range_field_name string 基于该索引值范围
- query table 前置的普通索引查询
返回值
- boolean