def _executeKeyMapCmd(*cmds): """执行KeyMap的cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('keymap', cmds) if __keymap_redis_conns_len == 1: return ftred.runCmd(__keymap_redis_conns[0], *cmds) else: idx = abs(hash(cmds[1])) conn = __keymap_redis_conns[idx % __keymap_redis_conns_len] return ftred.runCmd(conn, *cmds)
def executeTableCmd(roomId, tableId, *cmds): assert (isinstance(roomId, int) and roomId > 0) assert (isinstance(tableId, int) and tableId >= 0) cindex = int(roomId) % __table_redis_conns_len if _REDIS_CMD_PPS_: _redisCmdPps('table', cmds) return ftred.runCmd(__table_redis_conns[cindex], *cmds)
def executeUserLua(uid, luaName, *cmds): assert (isinstance(uid, int) and uid > 0) cindex = int(uid) % __user_redis_conns_len shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('user', ['EVALSHA', luaName]) return ftred.runCmd(__user_redis_conns[cindex], 'EVALSHA', shaval, *cmds)
def sendUserCmd(uid, *cmds): """发送玩家cmd""" assert (isinstance(uid, int) and uid > 0) cindex = int(uid) % __user_redis_conns_len if _REDIS_CMD_PPS_: _redisCmdPps('user', cmds) return ftred.runCmd(__user_redis_conns[cindex], *cmds)
def executeTableLua(roomId, tableId, luaName, *cmds): assert (isinstance(roomId, int) and roomId > 0) assert (isinstance(tableId, int) and tableId >= 0) cindex = int(roomId) % __table_redis_conns_len shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('table', ['EVALSHA', luaName]) return ftred.runCmd(__table_redis_conns[cindex], 'EVALSHA', shaval, *cmds)
def getConf(confname): value = ftred.runCmd(redis_pool_map["config"], "GET", confname) if value != None: value = json.loads(value) if isinstance(value, dict): value = MultiDict(value) if isinstance(value, list): value = MultiList(value) return value
def loadLuaScripts(luaName, luaScript): oldsha = None for k in ftcon.redis_pool_map: conn = ftcon.redis_pool_map[k] shaval = ftred.runCmd(conn, 'script', 'load', luaScript) if oldsha == None: __luascripts[luaName] = shaval oldsha = shaval else: assert (oldsha == shaval) ftlog.info('LOADSCRIPT->', oldsha, luaName, luaScript) return oldsha
def executeUserLua(uid, luaName, *cmds): """执行用户的lua Redis Evalsha 命令根据给定的 sha1 校验码,执行缓存在服务器中的脚本。 将脚本缓存到服务器的操作可以通过 SCRIPT LOAD 命令进行。 这个命令的其他地方,比如参数的传入方式,都和 EVAL 命令一样。 """ assert (isinstance(uid, int) and uid > 0) cindex = int(uid) % __user_redis_conns_len shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('user', ['EVALSHA', luaName]) return ftred.runCmd(__user_redis_conns[cindex], 'EVALSHA', shaval, *cmds)
def preLoadLuaScript(scriptModule, luaScript): assert (isinstance(luaScript, (str, unicode))) scriptName = None for x in dir(scriptModule): if luaScript == getattr(scriptModule, x): scriptName = x assert (isinstance(scriptName, (str, unicode))) oldsha = None for k in ftcon.redis_pool_map: conn = ftcon.redis_pool_map[k] shaval = ftred.runCmd(conn, 'script', 'load', luaScript) if oldsha == None: __luascripts[scriptName] = shaval oldsha = shaval else: assert (oldsha == shaval) ftlog.info('LOADSCRIPT->', oldsha, scriptName, luaScript) setattr(scriptModule, scriptName, scriptName) return oldsha
def executeRankLua(luaName, *cmds): """执行rank的lua""" if _REDIS_CMD_PPS_: _redisCmdPps('rank', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__rank_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeGeoLua(luaName, *cmds): """执行geo的lua脚本""" shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('geo', ['EVALSHA', luaName]) return ftred.runCmd(__geo_redis_conn, 'EVALSHA', shaval, *cmds)
def _executePayDataLua(luaName, *cmds): """执行lua脚本""" shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('paydata', ['EVALSHA', luaName]) return ftred.runCmd(__paydata_redis_conn, 'EVALSHA', shaval, *cmds)
def getConfNoCache(*cmds): value = ftred.runCmd(redis_pool_map["config"], *cmds) return value
def executeMixCmd(*cmds): """执行混合的cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('mix', cmds) return ftred.runCmd(__mix_redis_conn, *cmds)
def executeRePlayCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('replay', cmds) return ftred.runCmd(__replay_redis_conn, *cmds)
def executeMixCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('mix', cmds) return ftred.runCmd(__mix_redis_conn, *cmds)
def executeForbiddenCmd(*cmds): if __forbidden_redis_conn: if _REDIS_CMD_PPS_: _redisCmdPps('forbidden', cmds) return ftred.runCmd(__forbidden_redis_conn, *cmds)
def executeWecahtFriendLua(luaName, *cmds): """执行微信好友lua脚本""" if _REDIS_CMD_PPS_: _redisCmdPps('friend', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__wechat_friend_redis_conn, 'EVALSHA', shaval, *cmds)
def executeDizhuLua(luaName, *cmds): """执行地主lua脚本""" if _REDIS_CMD_PPS_: _redisCmdPps('dizhu', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__dizhu_redis_conn, 'EVALSHA', shaval, *cmds)
def executeRePlayCmd(*cmds): """执行玩家cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('replay', cmds) return ftred.runCmd(__replay_redis_conn, *cmds)
def _executeOnlineCmd(*cmds): """执行在线cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('online', cmds) return ftred.runCmd(__online_redis_conn, *cmds)
def _executeBiCmd(*cmds): """执行BI cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('bi', cmds) return ftred.runCmd(__bi_redis_conn, *cmds)
def executeRePlayLua(luaName, *cmds): if _REDIS_CMD_PPS_: _redisCmdPps('replay', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__replay_redis_conn, 'EVALSHA', shaval, *cmds)
def executeUserCmd(uid, *cmds): assert (isinstance(uid, int) and uid > 0) cindex = int(uid) % __user_redis_conns_len if _REDIS_CMD_PPS_: _redisCmdPps('user', cmds) return ftred.runCmd(__user_redis_conns[cindex], *cmds)
def executeForbiddenCmd(*cmds): """执行禁止的cmd""" if __forbidden_redis_conn: if _REDIS_CMD_PPS_: _redisCmdPps('forbidden', cmds) return ftred.runCmd(__forbidden_redis_conn, *cmds)
def _executeOnlineCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('online', cmds) return ftred.runCmd(__online_redis_conn, *cmds)
def executeMixLua(luaName, *cmds): """执行lua脚本""" if _REDIS_CMD_PPS_: _redisCmdPps('mix', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__mix_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeBiCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('bi', cmds) return ftred.runCmd(__bi_redis_conn, *cmds)
def executeRePlayLua(luaName, *cmds): """执行玩家lua脚本""" if _REDIS_CMD_PPS_: _redisCmdPps('replay', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__replay_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeKeyMapCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('keymap', cmds) return ftred.runCmd(__keymap_redis_conn, *cmds)
def _executeOnlineLua(luaName, *cmds): """执行在线lua""" shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('online', ['EVALSHA', luaName]) return ftred.runCmd(__online_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeKeyMapLua(luaName, *cmds): shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('keymap', ['EVALSHA', luaName]) return ftred.runCmd(__keymap_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeBiLua(luaName, *cmds): """执行Bi lua""" shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('bi', ['EVALSHA', luaName]) return ftred.runCmd(__bi_redis_conn, 'EVALSHA', shaval, *cmds)
def _executePayDataCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('paydata', cmds) return ftred.runCmd(__paydata_redis_conn, *cmds)
def _executePayDataCmd(*cmds): """执行支付的cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('paydata', cmds) return ftred.runCmd(__paydata_redis_conn, *cmds)
def _executePayDataLua(luaName, *cmds): shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('paydata', ['EVALSHA', luaName]) return ftred.runCmd(__paydata_redis_conn, 'EVALSHA', shaval, *cmds)
def _executeGeoCmd(*cmds): """执行geo的cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('geo', cmds) return ftred.runCmd(__geo_redis_conn, *cmds)
def _executeGeoCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('geo', cmds) return ftred.runCmd(__geo_redis_conn, *cmds)
def executeRankCmd(*cmds): """执行rank的cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('rank', cmds) return ftred.runCmd(__rank_redis_conn, *cmds)
def _executeGeoLua(luaName, *cmds): shaval = getLuaScriptsShaVal(luaName) if _REDIS_CMD_PPS_: _redisCmdPps('geo', ['EVALSHA', luaName]) return ftred.runCmd(__geo_redis_conn, 'EVALSHA', shaval, *cmds)
def executeWechatFriendCmd(*cmds): """执行微信好友cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('friend', cmds) return ftred.runCmd(__wechat_friend_redis_conn, *cmds)
def executeRankCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('rank', cmds) return ftred.runCmd(__rank_redis_conn, *cmds)
def executeDizhuCmd(*cmds): """执行地主cmd""" if _REDIS_CMD_PPS_: _redisCmdPps('dizhu', cmds) return ftred.runCmd(__dizhu_redis_conn, *cmds)
def executeDizhuCmd(*cmds): if _REDIS_CMD_PPS_: _redisCmdPps('dizhu', cmds) return ftred.runCmd(__dizhu_redis_conn, *cmds)
def doRedis(poolname, *argl, **argd): conn = ftcon.redis_pool_map.get(poolname, None) if conn == None: raise FTException("doRedis:poolname [" + str(poolname) + "] undefined.") return ftred.runCmd(conn, *argl, **argd)
def executeDizhuLua(luaName, *cmds): if _REDIS_CMD_PPS_: _redisCmdPps('dizhu', ['EVALSHA', luaName]) shaval = getLuaScriptsShaVal(luaName) return ftred.runCmd(__dizhu_redis_conn, 'EVALSHA', shaval, *cmds)