2 lovezhuoran lovezhuoran 于 2013.11.19 14:03 提问

请教暗黑世界服务器memcache更新的问题

请教
刚刚试了下 就是把创建角色creatNewCharacter函数里的等级leve随便换了数 如下:

cinfo = {'id':characterId,'level':28,
'profession':profession,
'nickname':nickname}
下面的意思应该是把相应的数据更新到memcache里把
mcha = Mcharacter(characterId,'character%d'%characterId,mclient)
mcha.initData(cinfo)
mcha.insert()

完后我把CheckMemDB(10)函数时间调成10秒 这个应该就是每十秒把memcache数据同步到数据库把

但是为什么数据库里的信息没有更改呢??? 很疑惑

1个回答

uxqclm
uxqclm   2013.11.19 14:05
已采纳

CheckMemDB(10)的修改确实是让没10秒同步一次数据到数据库。
mcha = Mcharacter(characterId,'character%d'%characterId,mclient)
mcha.initData(cinfo)
mcha.insert()
这里的数据是不会同步到数据库中的。只有在MAdminManager()里注册的表才会更新。
tb_character_admin = MAdmin('tb_character','id',incrkey='id')
tb_character_admin.insert()
MAdminManager().registe( memmode.tb_character_admin)

cinfo = {'id':characterId,'level':28,
'profession':profession,
'nickname':nickname}
这样当tb_character_admin.new(cinfo )
见app/game/memmode.py和
app/game/dataloader.py。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!