1
是否有可能使MySQL在刷新緩存之前更新並保持該緩存至少10分鐘時不刷新緩存?MySQL緩存,在更新之前不刷新,直到10分鐘之前
基本上,我正在緩存一個分析約200k +記錄並返回10行數據的查詢。查詢大約需要1.5 - 3秒。我正在使用SQL_CACHE來緩存該查詢,第一次後需要0.007(+ - )秒。該表經常更新(多次不到一分鐘)。所以我想讓MySQL在持有緩存至少10分鐘之前刷新緩存的查詢重新計算。
順便說一句,查詢數據是唯一的每個用戶在網站上。
我使用的Codeigniter框架,我知道他們有一個內置的查詢緩存功能,但它是基於文件系統。這就是爲什麼我更喜歡MySQL的緩存功能...
感謝您的幫助!
我不想阻止數據進入緩存。我只想防止表更新時緩存被刷新。該表基本上保存着流量數據,所以記錄經常被添加/更新。我只需要MySQL在緩存數據失效之前保存至少10分鐘左右。我的查詢就像: 'SELECT SQL_CACHE dday,COUNT(*)AS num,SUM(hits)AS sum_hits FROM table1 WHERE user_id ='AND ANDmonth ='11 AND AND dyear ='2012'GROUP BY dday' – stov01
這實際上是一個非常簡單的查詢。你有沒有嘗試添加user_id到表索引? –
所有必需的索引已被添加。我認爲最好的選擇是使用memcached編寫一個新的數據庫緩存驅動程序來處理緩存的數據。「 – stov01