原地址:

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. webbroswer 后台注入脚本 的方法

    HtmlElement script = webBrowser.Document.CreateElement("script"); script.SetAttribute(&quo ...

  2. 【C语言】02-基本数据类型

    跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用.为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间 ...

  3. C#学习笔记8:HTML和CSS基础学习笔记

    <!-- 1.<P>...</P>段落标签 2.<br/>折行标签. 3.<img src="" height="*px& ...

  4. 使用自签SSL证书有什么风险?

    http://mt.sohu.com/20150602/n414267586.shtml 所谓自签SSL证书,是指不受信任的任意机构或个人,使用工具自己签发的SSL证书.自签名SSL证书可以随意签发, ...

  5. apache http server 多线程模式

    一般apache采用prefork和worker机制,通过apachectl -l命令查看默认使用的prefork机制.需要修改prefork策略 那么需要做如下修改: 1,/usr/local/ap ...

  6. <Error>: CGContextRestoreGState

    <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please ...

  7. 【开发】Form Validate 表单验证 扩展应用

    目录: ★.文本输入框(easyui-textbox) ★.数字框(easyui-numberbox) ★.时间(easyui-datebox) ★.文本域(easyui-textbox easyui ...

  8. css3 animation实现逐帧动画

    css3里面的animation属性非常强大,但是自己用的比较少,最近有次面试就刚好被问到了,趁现在有时间就对animation做一个小总结.同时实现一个逐帧动画的demo作为练习 animation ...

  9. 在 Eclipse 中使用 JSHint 检查 JavaScript 代码

    JSHint Home: http://www.jshint.com/ JSHint Options: http://www.jshint.com/options/ JSHint For Eclips ...

  10. Wix: Show conditional message box

    For example: Scenario: Show message box only during installation and MYPROPERTY has to be equal to & ...