def getData(sessionId): thisTime = int(time.time()) data = mySql.use(MySql.table).where('id = ?',sessionId).get() if data : if data['time_out'] < thisTime : mySql.use(MySql.table).where('id = ?',sessionId).delete() return {} # 维持生命周期 if int(data['time_out']) - thisTime < int(data['left_time']) / 2: mySql.use(MySql.table).where('id = ?',sessionId).save({ 'time_out' : thisTime + int(data['left_time']) }) session = util.json.decode(data['values'], {}) # 退出其它用户 if session.get('current_user' , False) : if session['current_user'].get('userId' , False) : mySql.use(MySql.table).where('id != ?',sessionId)\ .where('user_id = ?',session['current_user']['userId'])\ .delete() return session return {}
def setData(sessionId , data , leftTime = 1800): thisTime = int(time.time()) userId = 0 if data.get('current_user' , False) : if data['current_user'].get('userId' , False) : userId = data['current_user']['userId'] if 0 == mySql.use(MySql.table).where('id = ?',sessionId).count() : mySql.use(MySql.table).add({ 'time_out' : thisTime + int(leftTime) , 'left_time' : leftTime , 'user_id' : userId , 'id' : sessionId , 'values' : util.json.encode(data) }) else: mySql.use(MySql.table).where('id = ?',sessionId).save({ 'time_out' : thisTime + int(leftTime) , 'left_time' : leftTime , 'user_id' : userId , 'values' : util.json.encode(data) })
def deleteData(sessionId): mySql.use(MySql.table).where('id = ?',sessionId).delete()