97久久国产亚洲精品超碰热,成人又色又爽的免费网站,色偷偷女人的天堂a,男女高潮喷水在线观看,国内精品一线二线三线区别在哪里

Discuz! 官方交流社區(qū)

標(biāo)題: 高并發(fā)下論壇間歇性出現(xiàn)(Discuz! Database Error)Bug修復(fù) [打印本頁]

作者: discus999    時間: 2025-4-17 10:51
標(biāo)題: 高并發(fā)下論壇間歇性出現(xiàn)(Discuz! Database Error)Bug修復(fù)
Bug:高并發(fā)下,pre_common_session會員認(rèn)證表的delete操作表鎖沖突導(dǎo)致數(shù)據(jù)庫連接數(shù)耗盡,適用X3.2、X3.4


Fix:
public function delete_by_session($session, $onlinehold, $guestspan) {
        if(!empty($session) && is_array($session)) {
                $onlinehold = time() - $onlinehold;
                $guestspan = time() - $guestspan;
                $session = daddslashes($session);


                $condition = " sid='{$session[sid]}' ";
                $condition .= " OR lastactivity<$onlinehold ";
                $condition .= " OR (uid='0' AND ip1='{$session['ip1']}' AND ip2='{$session['ip2']}' AND ip3='{$session['ip3']}' AND ip4='{$session['ip4']}' AND lastactivity>$guestspan) ";
                $condition .= $session['uid'] ? " OR (uid='{$session['uid']}') " : '';
                //DB::delete('common_session', $condition);
               //fix by wangxj
                $query = DB::query("SELECT sid FROM ".DB::table('common_session')." WHERE $condition");
                $sids = array();
                while ($row = DB::fetch($query)) {
                        $sids[] = $row['sid'];
                }
                // 按主鍵sid刪除
                if (!empty($sids)) {
                        DB::delete('common_session', DB::field('sid', $sids));
                }
        }
}







歡迎光臨 Discuz! 官方交流社區(qū) (http://r615.cn/) Powered by Discuz! X5.0