【Firefly API 新版文档】Package dbentrust

原地址:http://blog.csdn.net/uxqclm/article/details/11969653

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

class DBPool
数据库连接池

InitPool
初始化数据库连接池

  1. type method
  2. //cwd firefly/dbentrust/dbpool.py
  3. Prams initPool(**kw)

复制代码

**kw,关键字参数,是个字典,key:value分别对应为 config.json 这个配置文件中填写的对应值:

  1. "host":"localhost",
  2. "user":"root",
  3. "passwd":"111",
  4. "port":3306,
  5. "db":"test",
  6. "charset":"utf8"

复制代码

用于初始化数据库连接池

connection
获取一条数据库连接

  1. type method
  2. //cwd firefly/dbentrust/dbpool.py
  3. Params connecton(self)

复制代码

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

connect
连接memcached服务

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params connect(urls,hostname)

复制代码

Urls,连接memcached服务所需的ip和端口号
Hostname,所连接的主机名
上面两个参数的值为config.json 这个配置文件中填写的对应值:

  1. "urls":["127.0.0.1:11211"],
  2. "hostname":"anheisg"

复制代码

用于连接memcached服务

produceKey(keyname)
重新生成key

  1. [b]type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params produceKey(self,keyname)[/b]

复制代码

Key,存取值时的key名,根据key生成统一规则的新key名
Key必须为str型,否则返回 type error

get
获取key对应的值

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Prams get(key)

复制代码

get_multi
一次获取多个key的值,比for循环调用get方法快        
@param key: list(str) key的列表

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params get_multi(keys)

复制代码

keys为list型,keys = [key1,key2,...keyn],key1,key2为str型

set
将keyname的值设置成value

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params set(keyname, value)

复制代码

成功返回True,失败返回0

set_multi
设置多个键值对

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params set_multi(mapping)

复制代码

mapping 为dic型,mapping = {key1:balue1,key2:value2},成功返回True,失败返回0

incr
自增

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params incr(key, delta)

复制代码

key,key名
delta,增加的值
给key的value值增加 delta,返回增加后的value值

delete
删除指定key

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params delete(key)

复制代码

key,key名
将key及对应的value值删除,返回值为1

delete_multi
一次删除多个key

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params delete_multi(keys)

复制代码

keys为list型,keys = [key1,key2,...keyn],key1,key2为str型

flush_all
清空所有数据,慎用

  1. type method
  2. //cwd firefly/dbentrust/memclient.py
  3. Params flush_all(self)

复制代码

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

produceKey
重新生成key

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params produceKey(self,keyname)

复制代码

Key,存取值时的key名,根据key生成统一规则的新key名
Key必须为str型,否则返回 type error

locked
检测对象是否被锁定

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params lock(self)

复制代码

返回对象的状态,1表示对象被锁定无法进行修改,0表示可以修改

lock
锁定对象

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params lock(self)

复制代码

将对象的锁定状态更改为1

release
释放锁

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params release(self)

复制代码

将对象的锁定状态更改为1

get
获取key对应的值

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params get(key)

复制代码

get_multi
一次获取多个key的值,比for循环调用get方法快

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params get_multi(keys)

复制代码

keys为list型,keys = [key1,key2,...keyn],key1,key2为str型

update
将key的值设置成values

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params update(key, values)

复制代码

update_multi
同时修改多个键值对的值

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params update_multi(mapping)

复制代码

mapping 为dict型,mapping = {key1:balue1,key2:value2},成功返回True,失败返回0或False

mdelete
删除本类包含的所有的数据

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params mdelete(self)

复制代码

incr
自增

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params incr(key, delta)

复制代码

key,key名
delta,增加的值
给key的value值增加 delta,返回增加后的value值

insert
插入本类包含的所有的数据

  1. type method
  2. //cwd firefly/dbentrust/memobject.py
  3. Params insert()

复制代码

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

update
将key的值设置成values

  1. type method
  2. //cwd firefly/dbentrust/mmode.py
  3. Params update(key, values)

复制代码

update_multi
同时修改多个键值对的值

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params update_multi(mapping)

复制代码

mapping 为dict型,mapping = {key1:balue1,key2:value2},成功返回True,失败返回0或False

get
获取key对应的值

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

复制代码

get_multi
一次获取多个key的值,比for循环调用get方法快

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

复制代码

keys为list型,keys = [key1,key2,...keyn],key1,key2为str型

delete
删除对象,这里只是将数据的状态修改为已经删除的状态

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params delete(self)

复制代码

mdelete
清理对象,先将数据同步到数据库,然后真正的清理掉memcached里的本条数据

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params mdelete(self)

复制代码

IsEffective
检查对象是否有效,有效返回True,无效返回False

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params IsEffective(self)

复制代码

syncDB
将数据同步到数据库

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params syncDB(self)

复制代码

checkSync
将数据同步到数据库并检测数据是否超时,超时则从memcached中删除数据

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params checkSync(self,timeout=TIMEOUT)

复制代码

class MFKMode
外键管理

class MAdmin                        
mmode管理器,可以根据主键获取一个mmode的实例。一个MAdmin管理器对应到的是数据库的某张表,继承与MemObject类。它的实例化方式如下

  1. ma = MAdmin("tb_user",‘id‘,fk = ‘group‘,incrkey=‘id‘)
  2. user2 = ma.getObj(2)
  3. user2.update(‘name‘,‘test‘)

复制代码

表示对应的是数据库tb_user这张表,通过ma.getObj(2),可以获取id为2的这条记录的对应的mmode对象。user2.update(‘name‘,‘test‘)修改这条记录对应的name字段为‘test’。

insert
将所有数据写入到memcached。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params insert(self)

复制代码

load
将本管理器对应的数据库中的表的所有信息,写入到memcached中

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params load(self)

复制代码

madmininfo
获取Madmin的相关信息

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params madmininfo(self)

复制代码

mfilter
查找符合的对象(效率低下,不推荐使用)

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params mfilter(self,kw)

复制代码

getAllPkByFk
根据外键获取主键列表

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params getAllPkByFk(self,fk)

复制代码

fk,外键的值
根据外键的值查找本表中所有符合条件的数据,返回这些数据的主键的值的列表。

getObj
根据主键获取对应的记录的mmode对象。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params getObj(pk)

复制代码

pk,主键的值,返回该主键对应的数据的mmode对象实例,类型为instance

getObjData
根据主键获取对应的记录的mmode对象的字段数据。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params getObjData(self,pk)

复制代码

pk,主键的值,返回该主键对应的数据,类型为dict

getObjList
根据主键列表获取对应的记录的mmode对象的列表。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params getObjList(self,pklist)

复制代码

Pklist主键列表,根据列表里面的主键,返回由主键对应的数据的mmode对象实例的列表([instance,instance,instance])

deleteMode
根据主键删除对应的mmode信息。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params deleteMode(self,pk)

复制代码

pk,主键的值
这里只是将数据的状态修改为已经删除的状态

checkAll
检测同步管理的对象信息到数据库。并处理过期的对象

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. check()

复制代码

deleteAllFk
删除所有的外键

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params deleteAllFk(self)

复制代码

真正将数据从memcached中删除

new
创建一个新的对象,对应的是在数据库中创建新的记录,但不是同步实时的。需要在checkAll执行后才能真正的同步到数据库中。

  1. type method
  2. //cwd firefly/dbentrust/ mmode.py
  3. Params new(self,data)

复制代码

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

registe
注册Madmin管理器。

  1. type method
  2. //cwd firefly/dbentrust/ madminanager.py
  3. Params registe(self,admin)

复制代码

admin,数据模型对象实例
将数据对象Madmin的实例添加到Madmin单例管理器MadminManager中

dropAdmin
取消对madmin对象的管理

  1. type method
  2. //cwd firefly/dbentrust/ madminanager.py
  3. Params dropAdmin(self,adminname)

复制代码

adminname,数据模型对象实例的名字
根据实例adminname,将数据对象Madmin的实例从Madmin单例管理器MadminManager中删除

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

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

复制代码

adminname,数据模型对象实例的名字
根据实例adminname,从Madmin单例管理器MadminManager中获取数据对象Madmin的实例

checkAdmins
同步MadminManager中所有的注册的了madmin对应的记录到数据库中,并处理过期的对象

  1. type method
  2. //cwd firefly/dbentrust/ madminanager.py
  3. Params checkAdmins(self)

复制代码

【Firefly API 新版文档】Package dbentrust

时间: 2024-08-22 18:03:21

【Firefly API 新版文档】Package dbentrust的相关文章

【Firefly API 新版文档】Package Distributed

package distributed这个包中主要封装了各个服务进程间进行通信的方法.node子节点域root根节点进程中的接口调用返回的都是延迟对象.关于延迟对象的使用,详见twisted中Deferred对象.calss Child child对象对应的是连接到本服务进程的某个服务进程对象.称为子节点对象.getName获取子节点的名称 type method //cwd firefly/ distributed / child.py Params getName() 返回节点的名称 复制代

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然

Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 mvc接口文档

两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过NodeJS 发布Swagger UI 配置api 文档 先说一下简单的 Swagger 配置 web Api  Swagger-UI本身只提供在线测试功能,要集成它还需要告诉它本项目提供的各种服务和参数信息.这里就需要一些工作量了,不过好在许多第三方库已经给我们完成了这一工作.我这里用的是Swashbuckle,使用它也比较简单,直接使用Nuget添加其程序包即可: 1.初始化包  PM> Install-Package

给自己的java程序生成API帮助文档

一.问题发现: 课本上提到"要学会给自己编写的程序生成API帮助文档",但又没有说明具体的操作步骤. 二.分析: API帮助文档有什么用?这么理解吧:如果想告诉别人你的类如何使用,里面有什么方法,要什么参数的话,除了现场解释,最好的方法是什么呢? 对了,就是写一份说明!一般开头可以有这么几项: /** * 项目说明 * @author 作者 * @version 版本 * @param 参数 * @return 返回值含义 * @throws 抛出异常的描述 * @deprecated

用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档.

swift api帮助文档中文 目录列表

欢迎来到 Swift    关于Swift    Swift之旅语言指南    基础知识    基本操作    字符串和字符    集合类型    控制流    函数    闭包    枚举    类和结构体    属性    方法     标     继承     初始化     反初始化     ARC     可选链接     类型转换     嵌套类型     扩展     协议     泛型     高级操作符 语言引用     关于语言引用     词法结构     类型     表

NSUserDefaults API中英文文档简介及使用

Overview The NSUserDefaults class provides a programmatic interface for interacting with the defaults system. The defaults system allows an application to customize its behavior to match a user's preferences. For example, you can allow users to deter

Oracle官网JDK的API离线文档下载方法

最近在学习JAVA开发,使用频率最高的工具莫过于JAVA API,当我们身边没有可连接的网络,而又急需API文档时候,很明显我们需要在我们的电脑存储一份离线文档.下面是去Oracle官网下载API Documentation的步骤: 0.在地址栏输入http://www.oracle.com/index.html 进入Oracle官网,如下图: 1.把鼠标移到Downloads那里,不要点它哦!会看到展开一系列Oracle的产品下载,注意到第一列有个叫做“Popular Downloads” 红

Openstack python api 学习文档

Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack,所以上一篇写了一些使用openstack的纯api调用的方法, 但是openstack还提供了更好的python的api,只需要python的包即可,感觉更好使用. 对于compute的api,包是放在了/usr/lib/python2.7/site-packages/novaclient/目录,