Firefly官方教程之DBentrust使用文档
原地址:
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使用文档的更多相关文章
- Firefly官方教程之Distributed使用文档
原地址:http://bbs.gameres.com/thread_224191.html distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.n ...
- Firefly官方教程之Netconnect使用文档
1.distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题.2.结构解析 LiberateFactory,协议工厂 ...
- OpenStack keystone节点搭建(官方2018年4月份文档)
参考文档:https://docs.openstack.org/install-guide/common/conventions.html https://docs.openstack.org/mit ...
- linux系统编程之lseek帮助文档
通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 NAME lseek - reposition read/write fil ...
- [翻译][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 ...
- UE4官方行为树快速入门文档解析和修改
近学习了UE4官方文档的行为树快速入门指南,发现里面的部分逻辑稍稍有点混乱和重叠,于是加入了自己的想法,修改了部分行为树逻辑,优化了其AI寻路能力. 初始的基本操作和资源创建同官方文档一样:1个Fol ...
- Google官方教程之Selling In-app Products
1.原文链接[需FQ]:http://developer.android.com/training/in-app-billing/index.html 2.平时对于英文文档都是大概读一下,现在翻译文章 ...
- Kali Linux系列教程之OpenVas安装
Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装 前言 1. 服务器层组件 2.客户层组件 安装过程 Initial setup ...
- 编译OpenCV文档
概述 使用OpenCV的过程中经常查看文档,每次都去官网查看,不过国内访问速度很慢,有一份本地的文档就好了.本文列出了在Linux(Fedora)系统上从OpenCV源码编译出documentatio ...
随机推荐
- Linux源码的目录结构
Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间. 源代码所有在目录:/usr/src/linu ...
- Linux服务器命令行模式安装Matlab2014a
Linux服务器命令行模式安装Matlab2014a,有需要的朋友可以参考下. 0.下载安装包 下载Matlab2014a for Linux安装包的ISO镜像文件(感谢万能的度娘)以及破解包(下载地 ...
- 小米2s 用线刷,刷回MIUI V5了
1. 在使用MiFlash刷机时,出现了:FAILED (remote: partition table doesn't exist) 参考了:[经验技巧]如果你合并分区后悔了,那么我有最简单的方法恢 ...
- dos下循环复制一张图片的bat
@echo off setlocal enabledelayedexpansion ,,) do ( @echo !dm! copy .png !dm!.png ) 我期待的结果是将140041.pn ...
- Activiti源码浅析:Activity与Task
最近由于接触到Activiti工作流引擎,因此粗读了一下它的源码. 总结了一些内容如下,这些内容一般的doc上都是没有提及的. 1. model.Activity与model.Task Activit ...
- SQL Server 2012 内存管理 (memory management) 改进
SQL Server 2012 的内存管理和以前的版本相比,有以下的一些变化. 一.内存分配器的变化 SQL Server 2012以前的版本,比如SQL Server 2008 R2等, 有sing ...
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState:
今天做项目中的支付宝功能,是在fragment中做的,在支付成功后,想切换到支付成功的页面. 结果就报错了IllegalStateException: Can not perform this act ...
- 利用openssl进行RSA加密解密
openssl是一个功能强大的工具包,它集成了众多密码算法及实用工具.我们即可以利用它提供的命令台工具生成密钥.证书来加密解密文件,也可以在利用其提供的API接口在代码中对传输信息进行加密. RSA是 ...
- Hudson的安装配置
Hudson的安装配置 目录 一.正文... 2 1.安装配置jdk. 2 2.安装配置tomcat7. 2 3.安装Hudson. 2 4.启动tomcat. 2 5.初识Hudson. 3 6 ...
- warning
warning:statement has no effect [-Wunused-value]| 未能赋值,常见错误:m==1/for(i=0;i++;i<m)/