Beispiel #1
0
def registe_madmin():
    """注册数据库与memcached对应
    """
    MAdminManager().registe(memmode.tb_character_admin)
    MAdminManager().registe(memmode.tb_zhanyi_record_admin)
    MAdminManager().registe(memmode.tbitemadmin)
    MAdminManager().registe(memmode.tb_matrix_amin)
Beispiel #2
0
def registe_madmin():
    '''
	'''
    MAdminManager().registe(memmode.tb_character_admin)
    MAdminManager().registe(memmode.tb_player_admin)
    MAdminManager().registe(memmode.tb_item_admin)
    MAdminManager().registe(memmode.tb_zen_admin)
Beispiel #3
0
def doWhenStop():
    """服务器关闭前的处理
    """
    print "##############################"
    print "##########checkAdmins#############"
    print "##############################"
    MAdminManager().checkAdmins()
Beispiel #4
0
def old_test():
    address = ["127.0.0.1:11211"]  #要连接的Memcached的主机地址端口号
    hostname = "localhost"  #要连接的Memcached的主机名
    mclient.connect(
        address, hostname)  #firefly重新封装的连接Memcached的方法,这样你就可连接到你要使用的Memcached

    tower_info = MAdmin(
        "tb_tower_info",
        "id")  #实例化一个MAdmin管理器,用来管理player表中的数据,player是你要管理的表名,id是该表的主键
    #不清楚MAdmin是什么的童鞋请移步http://firefly.9miao.com/wiki/index.htm,wiki里面有个dbentrust使用文档,里面详细说明了firefly自定义的几个类与数据库之间的关联
    tower_info.insert()  #将管理器player注册到memcached中

    tower_info.load(
    )  #一次性从数据库中将player表中所有数据读取到memcached中,如果不写本句,player只是一个空模型,没有数据,第一次取值时会到数据库中取出此次需要的数据并加载到memcached中,
    #如果第二次取值同第一次相同,则在memcached中取,否则需要再次同数据库建立连接进行取值

    m = tower_info.getObj(1)  #取出player表中主键(本例为id)为100001的这条数据对象(Mmode)
    data = m.get("data")  #获取数据对象m里面包含的信息
    print data  #打印信息

    data = {
        'name': u'haha',
        'monsterdesc': u'1213',
        'level': 30L,
        'expbound': 10000L,
        'dropoutid': 4001L,
        'matrixid': 100001L,
        'rule': u'[[4001,4001,4001,4001,4001],[1,3,5,7,9]]',
        'boundinfo': u'sdfsadfas',
        'id': 2
    }

    n = tower_info.new(data)
    n.insert()

    m = tower_info.getObj(2)
    data = m.get("data")
    print data

    MAdminManager().registe(tower_info)
    MAdminManager().checkAdmins()
Beispiel #5
0
    def setUp(self):
        config = json.load(open('../config.json', 'r'))

        def init():
            hostname = "127.0.0.1"  #  要连接的数据库主机名
            user = "******"  #  要连接的数据库用户名
            password = "******"  #  要连接的数据库密码
            port = 3306  #  3306 是MySQL服务使用的TCP端口号,一般默认是3306
            dbname = "traversing_1"  #  要使用的数据库库名
            charset = "utf8"  #  要使用的数据库的编码
            dbpool.initPool(
                host=hostname,
                user=user,
                passwd=password,
                port=port,
                db=dbname,
                charset=charset
            )  ##firefly重新封装的连接数据库的方法,这一步就是初始化数据库连接池,这样你就可连接到你要使用的数据库了

        init()
        client = RedisClient()

        mmanager = MAdminManager()

        GlobalObject().json_model_config = config.get("models")
        redis_manager.connection_setup(config.get("memcached").get("urls"))

        m1 = redis_mode.MAdmin('tb_character_hero', 'id')

        m1.insert()

        data = {
            'hero_no': 10001,
            'character_id': 106,
            'level': 9,
            'break_level': 10,
            'exp': 11,
            'equipment_ids': ''
        }
        self.hero_mmode = m1.new(data)

        self.hero = Hero(1)
        self.hero.level = 12306
Beispiel #6
0
def check_mem_db(delta):
    """同步内存数据到数据库
    """
    MAdminManager().checkAdmins()
    reactor.callLater(delta, check_mem_db, delta)
Beispiel #7
0
def register_madmin():
    """注册数据库与memcached对应
    """
    # 用户信息表
    MAdminManager().registe(memmode.tb_character_info)
    # 英雄信息表
    MAdminManager().registe(memmode.tb_character_hero)
    # 用户英雄碎片信息表
    MAdminManager().registe(memmode.tb_character_hero_chip)
    # 用户道具背包
    MAdminManager().registe(memmode.tb_character_item_package)
    # 帐号表
    MAdminManager().registe(memmode.tb_account)
    # 用户阵容信息
    MAdminManager().registe(memmode.tb_character_line_up)
    # 装备碎片表
    MAdminManager().registe(memmode.tb_character_equipment_chip)
    # 装备信息表
    MAdminManager().registe(memmode.tb_equipment_info)
    # friend表
    MAdminManager().registe(memmode.tb_character_friend)
    # 公会信息表
    MAdminManager().registe(memmode.tb_guild_info)
    # 玩家公会表
    MAdminManager().registe(memmode.tb_guild_name)
    # 玩家公会表
    MAdminManager().registe(memmode.tb_character_guild)
    # 玩家活动表
    MAdminManager().registe(memmode.tb_character_activity)
    # 主将信息表
    MAdminManager().registe(memmode.tb_character_lord)
    # 关卡信息表
    MAdminManager().registe(memmode.tb_character_stages)
    # 邮件表
    MAdminManager().registe(memmode.tb_mail_info)

    #活跃度
    MAdminManager().registe(memmode.tb_character_tasks)
Beispiel #8
0
def CheckMemDB(delta):
    """同步内存数据到数据库
    """
    MAdminManager().checkAdmins()
    reactor.callLater(delta, CheckMemDB, delta)
Beispiel #9
0
 def __init__(self):
     self._users = {}  # 玩家字典
     self.memUsers = MAdmin("tb_user", "acc")  # 玩家表mem实例
     self.memUsers.insert()
     MAdminManager().registe(self.memUsers)
     return
Beispiel #10
0

def init():
    hostname = "127.0.0.1"  #  要连接的数据库主机名
    user = "******"  #  要连接的数据库用户名
    password = "******"  #  要连接的数据库密码
    port = 3306  #  3306 是MySQL服务使用的TCP端口号,一般默认是3306
    dbname = "traversing_1"  #  要使用的数据库库名
    charset = "utf8"  #  要使用的数据库的编码
    dbpool.initPool(host=hostname, user=user, passwd=password, port=port, db=dbname,
                    charset=charset)  ##firefly重新封装的连接数据库的方法,这一步就是初始化数据库连接池,这样你就可连接到你要使用的数据库了

init()
client = RedisClient()

mmanager = MAdminManager()


GlobalObject().json_model_config = config.get("models")
redis_manager.connection_setup(config.get("memcached").get("urls"))

m1 = redis_mode.MAdmin('tb_char_hero', 'id', incrkey='id')

m1.insert()
print "#1 _incrvalue", m1.get('_incrvalue')
data = {'hero_no': '10001',
        'characterid': 106, 'level': 9,
        'break_level': 10, 'exp': 11,
        'equipment_ids': ''}
obj1 = m1.new(data)
print 'obj #1:', obj1.__dict__
Beispiel #11
0
def CheckMemDB(delta):
    '''
	'''
    MAdminManager().checkAdmins()
    reactor.callLater(delta, CheckMemDB, delta)