原地址:

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

1、dbentrust说明
该模块主要是对数据库与memcached存储的处理。里面封装了从memcached数据到python对象的映射。可以以操纵python对象的方式进行memcached中存储的数据的操作,只要在不同的进程中实例化相同名称的memobject对象,就能保证对象中的数据是一致的。还包含了将这个对象中的数据同步到数据库的处理方法。
2、结构解析

MemObject类规定了数据的格式,所有的数据都存储在memcached中,为了区分不同的数据,每个数据都要有自己的命名规则。
Mmode是数据库到memcached直接的映射类,在memcached中代表数据库里面的一条数据,通过继承MemObject类来实现
MFKMode类在memcached中代表数据对应的外键
MAdmin类是mmode管理器,可以根据主键获取一个mmode的实例,在memcached中代表数据库里面的一张表
MadminManager类是Madmin对象的管理器,实际上就是对整个库中的表的记录进行管理,但这个表对应的Madmin必须在这里被注册。
3、使用示例
1)将数据库中的表读取出来存储到memcached中

第10行,从firefly中导入MAdmin
第12行,实例化MAdmin,即从数据库中读取tb_register表中的信息,key为第二个参数,即 username,value为对应的信息
第13行,将数据写入到memcached中
2)从memcached中读取需要的数据进行操作

第13行,在MAdmin管理器(memcached中存储的tb_character_matrix表的数据)中取出id为characterId的数据对象Mmode(matrixMmode)
第14行,要修改的数据
第15行,将数据对象(matrixMmode)中key为’eye’的value值改为-1
3)MAdmin的管理器MadminManager的使用

第8行,从firefly中导入MadminManager
第13行,将数据对象Madmin的实例(tb_matrix_amin)添加到Madmin单例管理器MadminManager中,一般用于服务器开启时
第14行,同步MadminManager中所有的注册的了madmin对应的记录到数据库中,并处理过期的对象,一般用于服务器关闭时(注:只同步之前注册到MadminManager中的数据对象Madmin的实例的数据)

Firefly官方教程之DBentrust使用文档的更多相关文章

  1. Firefly官方教程之Distributed使用文档

    原地址:http://bbs.gameres.com/thread_224191.html distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.n ...

  2. Firefly官方教程之Netconnect使用文档

    1.distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题.2.结构解析 LiberateFactory,协议工厂 ...

  3. OpenStack keystone节点搭建(官方2018年4月份文档)

    参考文档:https://docs.openstack.org/install-guide/common/conventions.html https://docs.openstack.org/mit ...

  4. linux系统编程之lseek帮助文档

    通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 NAME lseek - reposition read/write fil ...

  5. [翻译][Nokogiri官方教程] 解析HTML/XML文档 / Parsing an HTML/XML Document

    From a String From a File From the Internet Parse Options Encoding 原文: Parsing an HTML/XML Document ...

  6. UE4官方行为树快速入门文档解析和修改

    近学习了UE4官方文档的行为树快速入门指南,发现里面的部分逻辑稍稍有点混乱和重叠,于是加入了自己的想法,修改了部分行为树逻辑,优化了其AI寻路能力. 初始的基本操作和资源创建同官方文档一样:1个Fol ...

  7. Google官方教程之Selling In-app Products

    1.原文链接[需FQ]:http://developer.android.com/training/in-app-billing/index.html 2.平时对于英文文档都是大概读一下,现在翻译文章 ...

  8. Kali Linux系列教程之OpenVas安装

    Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装 前言 1.  服务器层组件 2.客户层组件 安装过程 Initial setup ...

  9. 编译OpenCV文档

    概述 使用OpenCV的过程中经常查看文档,每次都去官网查看,不过国内访问速度很慢,有一份本地的文档就好了.本文列出了在Linux(Fedora)系统上从OpenCV源码编译出documentatio ...

随机推荐

  1. LintCode 55 比较字符串

    比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序.   样例 给出 A = "ABC ...

  2. 什么是CS和BS结构,两种结构的区别

    什么是CS和BS结构,两种结构的区别 什么是C/S和B/S结构?         C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系 ...

  3. jquery自动生成二维码

    把下面的jquery代码放到想要在当前页面上面生成二维码: 代码如下: <script type="text/javascript">var _qrContent='' ...

  4. sqlserver 变量

    变量:分为全局变量和局部变量全部变量:以@@声明,为系统变量,所有实例都能访问,用户只能访问,不能赋值局部变量:生命周期只在一个批处理内有效, 局部变量经常使用的三种用途:1 在循环语句中记录循环的次 ...

  5. ExtJs owner.componentLayoutCounter问题解

    owner.componentLayoutCounter问题解:listeners : {                                render : function(grid) ...

  6. CPrintDialog 构造函数参数详解

    CPrintDialog 构造Windows打印或打印设置对话框(两者不同)     打印对话框                                                     ...

  7. 批处理 Mysql Findstr

    @set Dump_IP=localhost @set User_Name=root @set Password=1234 @set curPath=%~dp0 mysql -h %Dump_IP% ...

  8. 【转】图解SQL的各种连接join

    原帖地址:http://www.nowamagic.net/librarys/veda/detail/936 图解SQL的各种连接join 让你对SQL的连接一目了然 在 2011年12月22日 那天 ...

  9. IO流07_输入输出流总体系

    [javaIO体系中常用的流] [关于字符流和字节流的注意点] 通常,字节流比字符流功能更加强大,因为字节流可以处理所有的二进制文件. 但是字节流来处理字符,又需要将字节转换成字符,增加了编程复杂度. ...

  10. Cannot connect to (local) sql server 2008

    Make following steps to solve the issue: Cannot connect to (local). ADDITIONAL INFORMATION: Login fa ...