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)
|