如何獲取CodeIgniter頁面緩存以將輸入記入帳戶?例如,假設我有一個分頁系統。啓用緩存後,如果我轉到第1頁,然後第2頁(相同控制器)... CI緩存將返回第1頁的內容。Codeigniter頁面緩存不考慮輸入?
function my_controller() {
$this->output->cache(1);
$page = $this->input->post("page");
$data = getData($page);
$this->load->view('my_view', $data);
}
在上例中,您無法正確地平移頁面。即使發佈的輸入發生更改,它也會繼續加載緩存的頁面。
如何才能讓緩存系統將$ _POST數據考慮在內,並將這些數據視爲來自緩存的不同請求?
內容只會每隔幾天更改一次,但被稱爲A LOT。這就是爲什麼我正在尋找一種方法來防止持續的處理/數據庫調用。我基本上很想設置一個失效期(比如說3天),並且在任何時候控制器被相同的輸入命中時,它會返回緩存文件,而不是再次完成所有工作。 – VDH
您是否遇到了減慢數據庫服務器的問題?請記住,數據庫服務器執行計劃等,因此他們往往保留自己的緩存這些硬命中查詢。如果你沒有遇到問題,那根本就不值得。特別是如果您的查詢不是標量滿的,則獲取數據是數據庫的用途 –
您使用的是哪種數據庫技術? MySQL,PostgreSQL,SQL Server? –