def savePurchaseEvent(db,conn,info): fields = ','.join(info.keys()) values = tuple(info.values()) buildstr = ','.join(['%s']*len(info)) sql = "insert into purchase_event_log (%s) values (%s)" % (fields,buildstr) db.execute(sql,values) conn.commit() #clear cache playerId = info['user_id'] memory_cache.setPurchaseEventLogCache(playerId,None)
def getPurchaseEvent(db,conn,playerId): #先从cache中获取 info = memory_cache.getPurchaseEventLogCache(playerId) if info: return info db.execute("SELECT * FROM purchase_event_log WHERE type = 1 AND user_id = %s order by create_time desc limit 16",(playerId,)) info = [] try: logs = db.fetchall() except: return info for log in logs: temp = str2dict(log['info']) temp['time'] = log['create_time'] info.append(temp) #set cache memory_cache.setPurchaseEventLogCache(playerId,info) return info