http://bbs.gameres.com/thread_219653_1_1.html

package dbentrust

该包下面主要是数据库的处理与memcached存储。里面封装了,从memcached数据到python对象的映射。可以以操纵python对象的方式进行memcached中存储的数据的操作,只要在不同的进程中实例化相同名称的memobject对象,就能保证对象中的数据是一致的。还包含了将这个对象中的数据同步到数据库的出来方法。这里不需去写一句sql语句。

class DBPool
数据库连接池

InitPool
初始化数据库连接池
type method
//cwd firefly/dbentrust/dbpool.py
Prams initPool(**kw)

connection
获取一条数据库连接
type method
//cwd firefly/dbentrust/dbpool.py
Params connecton(self)

class Memclient
memcached 客户端连接类,通过加上前缀的方式类分配不同的命名空间。

connect
连接memcached服务
type method
//cwd firefly/dbentrust/memclient.py
Params connect(urls,hostname)

produceKey(keyname)
重新生成key
type method
//cwd firefly/dbentrust/memclient.py
Params produceKey(self,keyname)

get
获取key对应的值
type method
//cwd firefly/dbentrust/memclient.py
Prams get(key)

get_multi
一次获取多个key的值
@param keys: list(str) key的列表
type method
//cwd firefly/dbentrust/memclient.py
Params get_multi(key)

set
设置key对应的值
type method
//cwd firefly/dbentrust/memclient.py
Params set(keyname, value)

set_multi
修改多个key的值
type method
//cwd firefly/dbentrust/memclient.py
Params set_multi(mapping)

incr
自增
type method
//cwd firefly/dbentrust/memclient.py
Params incr(key, delta)

delete
删除指定key
type method
//cwd firefly/dbentrust/memclient.py
Params delete(key)

delete_multi
一次删除多个key
type method
//cwd firefly/dbentrust/memclient.py
Params delete_multi(keys)

flush_all
清空所有数据,慎用
type method
//cwd firefly/dbentrust/memclient.py
Params flush_all(self)

class MemObject
memcached 数据到python对象的映射类。通过继承这个类来实现memcached数据格式的自定义。

produceKey
重新生成key
type method
//cwd firefly/dbentrust/memobject.py
Params produceKey(self,keyname)

locked
检测对象是否被锁定
type method
//cwd firefly/dbentrust/memobject.py
Params lock(self)

lock
锁定对象
type method
//cwd firefly/dbentrust/memobject.py
Params lock(self)

release
释放锁
type method
//cwd firefly/dbentrust/memobject.py
Params release(self)

get
获取对象值
type method
//cwd firefly/dbentrust/memobject.py
Params get(key)

get_multi
一次获取多个key的值
type method
//cwd firefly/dbentrust/memobject.py
Params get_multi(keys)

update
修改对象的值
type method
//cwd firefly/dbentrust/memobject.py
Params update(key, values)

update_multi
同时修改多个对象的值
type method
//cwd firefly/dbentrust/memobject.py
Params update_multi(mapping)

mdelete
删除memcache中的数据
type method
//cwd firefly/dbentrust/memobject.py
Params mdelete(self)

incr
自增
type method
//cwd firefly/dbentrust/memobject.py
Params incr(key, delta)

insert
插入对象记录
type method
//cwd firefly/dbentrust/memobject.py
Params insert()

class Mmode
数据库到memcached直接的映射类。可以实现延迟异步的去修改数据库中的数据,减轻数据库压力。并有自定义的过期时间,过期后memcached中的数据会被自动的清理掉。这里对过期的定义的,这个对象被访问中间的间隔时间。这个类通过继承MemObject实现

update
修改某个字段的值
type method
//cwd firefly/dbentrust/mmode.py
Params update(name, pk, data={})

update_multi
修改多个字段的值
type method
//cwd firefly/dbentrust/ mmode.py
Params update_multi(mapping)

get
type method
//cwd firefly/dbentrust/ mmode.py
Params get(self, key)

get_multi
type method
//cwd firefly/dbentrust/ mmode.py
Params get_multi(self, keys)

delete
删除对象,这里只是修改状态为已经删除的状态
type method
//cwd firefly/dbentrust/ mmode.py
Params delete(self)

mdelete
清理对象,真正的清理掉memcached里的数据
type method
//cwd firefly/dbentrust/ mmode.py
Params mdelete(self)

IsEffective
检查对象是否有效
type method
//cwd firefly/dbentrust/ mmode.py
Params IsEffective(self)

syncDB
同步到数据库
type method
//cwd firefly/dbentrust/ mmode.py
Params syncDB(self)

checkSync
检测同步
type method
//cwd firefly/dbentrust/ mmode.py
Params checkSync(self,timeout=TIMEOUT)

class MFKMode
外键管理

class MAdmin
mmode管理器,可以根据主键获取一个mmode的实例。一个MAdmin管理器对应到的是数据库的某张表,继承与MemObject类。它的实例化方式如下
ma = MAdmin(“tb_user”,’id’,fk = ‘group’,incrkey=’id’)
user2 = ma.getObj(2)
user2.update(‘name’,'test’)
表示对应的是数据库tb_user这张表,通过ma.getObj(2),可以获取id为2的这条记录的对应的mmode对象。user2.update(‘name’,'test’)修改这条记录对应的name字段为‘test’。

insert
将信息写入memcached。
type method
//cwd firefly/dbentrust/ mmode.py
Params insert(self)

load
读取数据到数据库中,读取对应的表中的所有数据。
type method
//cwd firefly/dbentrust/ mmode.py
Params load(self)

madmininfo
获取Madmin的相关信息
type method
//cwd firefly/dbentrust/ mmode.py
Params madmininfo(self)

mfilter
查找符合的对象(效率低下,不推荐使用)
type method
//cwd firefly/dbentrust/ mmode.py
Params mfilter(self,kw)

getAllPkByFk
根据外键获取主键列表
type method
//cwd firefly/dbentrust/ mmode.py
Params getAllPkByFk(self,fk)

getObj
根据主键获取对应的记录的mmode对象。
type method
//cwd firefly/dbentrust/ mmode.py
Params getObj(pk)

getObjData
根据主键获取对应的记录的mmode对象的字段数据。
type method
//cwd firefly/dbentrust/ mmode.py
Params getObjData(self,pk)

getObjList
根据主键列表获取对应的记录的mmode对象的列表。
type method
//cwd firefly/dbentrust/ mmode.py
Params getObjList(self,pklist)

deleteMode
根据主键删除对应的mmode信息。
type method
//cwd firefly/dbentrust/ mmode.py
Params deleteMode(self,pk)

checkAll
检测同步管理的对象信息到数据库。并处理过期的对象
type method
//cwd firefly/dbentrust/ mmode.py
check()

deleteAllFk
删除所有的外键
type method
//cwd firefly/dbentrust/ mmode.py
Params deleteAllFk(self)

new
创建一个新的对象,对应的是在数据库中创建新的记录,但不是同步实时的。需要在checkAll执行后才能真正的同步到数据库中。
type method
//cwd firefly/dbentrust/ mmode.py
Params new(self,data)

class MadminManager
Madmin对象的管理器,实际上就是对整个库中的表的记录进行管理,但这个表对应的Madmin必须在这里被注册。

registe
注册Madmin管理器。
type method
//cwd firefly/dbentrust/ madminanager.py
Params registe(self,admin)

dropAdmin
取消对madmin对象的管理
type method
//cwd firefly/dbentrust/ madminanager.py
Params dropAdmin(self,adminname)

getAdmin
根据表名称获取注册过的madmin对象。

type method 
//cwd firefly/dbentrust/ madminanager.py
Params getAdmin(self,adminname)

checkAdmins
同步所有的注册的了madmin对应的记录到数据库中。
type method
//cwd firefly/dbentrust/ madminanager.py
Params checkAdmins(self)

【Firefly API文档】—— Package DBentrust的更多相关文章

  1. 【Firefly API文档】—— Package Distributed

    http://bbs.gameres.com/forum.php?mod=viewthread&tid=219654 package distributed 这个包中主要封装了各个服务进程间进 ...

  2. 【Firefly API文档】—— Package Netconnect

    http://bbs.gameres.com/forum.php?mod=viewthread&tid=219655 package netconnect 该包中包含的服务端与客户端通信的一些 ...

  3. JAVASE02-Unit01: API文档 、 字符串基本操作

    API文档 . 字符串基本操作 文档注释 package day01; /** * 文档注释只能定义在三个地方: * 类,方法,常量 * * 文档注释是功能注释,用来说明功能作用 * 在类上使用的目的 ...

  4. API文档的阅读

    API ——Application Programming Interface(应用程序编程接口) API是应用程序接口的意思,API是Java提供的基本编程接口,当使用Java语言进行编程时,不可能 ...

  5. grunt api 文档

    Grunt docs Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 grunt-cli npm install grunt-cli -g 注 ...

  6. springboot~mockMvc和asciidoctor生成基于TDD的API文档

    API文档是前端与后端快速开发,减少沟通成本的必要条件,有一份完善的文档是很必要的,由通过测试来生成文档的好处就是:测试数据有了,测试返回结果有了,而且可以对这些字段进行说明,很清晰,在springb ...

  7. Swagger UI及 Swagger editor教程 API文档搭配 Node使用

    swagger ui 是一个在线文档生成和测试的利器,目前发现最好用的.为啥好用呢?打开 demo,支持API自动生成同步的在线文档些文档可用于项目内部API审核方便测试人员了解 API这些文档可作为 ...

  8. SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档

    Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...

  9. [aspnetcore.apidoc]一款很不错的api文档生成工具

    AspNetCore.ApiDoc 简单徐速一下为什么选用了aspnetcore.apidoc 而没有选用swagger 最初我们也有在试用swagger,但总是有些感觉,感觉有点不满意,就但从api ...

随机推荐

  1. 剑指offer-树中两个节点的最低公共祖先

    普通二叉树 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; ...

  2. Codeforces Round #278 (Div. 1) Strip (线段树 二分 RMQ DP)

    Strip time limit per test 1 second memory limit per test 256 megabytes input standard input output s ...

  3. [BZOJ3529]数表

    假设$n\leq m$,我们先不考虑$\leq a$的限制 $\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sigma((i,j))=\sum\limits_{T=1} ...

  4. 【模拟】 Codeforces Round #434 (Div. 1, based on Technocup 2018 Elimination Round 1) C. Tests Renumeration

    题意:有一堆数据,某些是样例数据(假设X个),某些是大数据(假设Y个),但这些数据文件的命名非常混乱.要你给它们一个一个地重命名,保证任意时刻没有重名文件的前提之下,使得样例数据命名为1~X,大数据命 ...

  5. 【模拟退火】poj2420 A Star not a Tree?

    题意:求平面上一个点,使其到给定的n个点的距离和最小,即费马点. 模拟退火的思想是随机移动,然后100%接受更优解,以一定概率接受更劣解.移动的过程中温度缓慢降低,接受更劣解的概率降低. 在网上看到的 ...

  6. 【FFT】hdu1402 A * B Problem Plus

    FFT板子. 将大整数看作多项式,它们的乘积即多项式的乘积在x=10处的取值. #include<cstdio> #include<cmath> #include<cst ...

  7. [转]Spring 中的p标签

    spring的bean配置文件中p:代表什么 <bean id="daoTemplate" abstract="true" lazy-init=" ...

  8. Educational Codeforces Round 9 A. Grandma Laura and Apples 水题

    A. Grandma Laura and Apples 题目连接: http://www.codeforces.com/contest/632/problem/A Description Grandm ...

  9. Apache 优化配置10条建议

    之前VPS使用的是默认的Apache配置,感觉还行,不过随着博客的人流量上升,显然这种配置无法满足需求了:下面是Apache官方手册中给出的几条优化配置建议,笔者将其整理出来,对Apache服务器的运 ...

  10. 将HTML元素转换成图片供用户下载(html2canvas + canvas2Image)

    这是项目中遇到的一个问题,起初觉得把一个html元素生成图片,提供给用户下载的需求挺容易实现的,毕竟看过一些截图的插件,但是在真正操作中遇到了各种各样的问题,比如移动端上截图显示不清晰,html元素中 ...