我正在Codeigniter上開發一個網站(使用購物車),並且想要使用sess_use_database設置,以使用戶更難以破解購物車會話。Codeigniter - 如何避免會話的數據庫緩存
我也想用數據庫高速緩存來加快公共DB請求(如「獲取類」,因爲大多數DB內容不會定期更換),所以我已經啓用此設置:
$db['development']['cache_on'] = TRUE;
//where 'development' is my environment
結果,我發現會議內容未在此請求被刷新,例如:
$this->basket_contents = array_values($this->session->userdata('basket_contents'));
而且,我已經試過這樣:
$this->db->cache_off();
...在會話請求之前,但它不能解決問題(我假設,因爲它不是直接的DB請求)。
我會setings如下:
$config['sess_cookie_name'] = 'str_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
我可以防止會話相關的數據庫請求的緩存?或者阻止某些表被緩存?
或者有沒有想過的另一個(可能很明顯)的解決方案?
在此先感謝。
太好了,謝謝。我將從第一個選項開始。 – Ade 2010-12-13 23:52:21