Skip to content
This repository has been archived by the owner on Dec 30, 2023. It is now read-only.

UserMultiEntity中一个逻辑会导致玩家数据无法加载的问题 #1

Closed
lf723 opened this issue Jun 17, 2015 · 2 comments
Closed

Comments

@lf723
Copy link

lf723 commented Jun 17, 2015

local record
if self.recordset[uid] then
    if not field then
        record = self.recordset[uid][id] or {}
    elseif type(field) == "string" then
        if not self.recordset[uid][id] then return end
        record = self.recordset[uid][id][field]
    elseif type(field) == "table" then
        record = {}
        local t = self.recordset[uid][id]
        if not t then return record end
        for i=1, #field do
            record[field[i]] = t[field[i]]
        end
    end
    --此处不应该直接return
    --调用方如果第一次有传的id,那么slef.recordset[uid]中仅会有一个记录,会导致后续的其他记录均无法查询到,应判断如果不存在,尝试去redis\mysql加载一次
    return record
end
@fztcjjl
Copy link
Owner

fztcjjl commented Aug 20, 2015

这应该只可能发生在取离线玩家数据的时候出现,获取离线玩家数据,用完应该unload掉

@fztcjjl
Copy link
Owner

fztcjjl commented Aug 20, 2015

好像还是有问题,如果有多个玩家都取同一个离线玩家数据,就有可能出现问题

fztcjjl added a commit that referenced this issue Aug 20, 2015
@fztcjjl fztcjjl closed this as completed Aug 20, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants