【小(xiǎo)編推薦】ThinkPHP3.2→↑φ——查詢緩存

2014-06-26   | &nbδ≠sp; 發布者:梁國(guó)芳&♥↔nbsp;  |  &↕$nbsp;查看(kàn):3320次

Thinkphp

對(duì)于及時(shí)性要(yào)求不"÷(bù)高(gāo)的(de)數(shù)據查詢,我們可(kě)>≈£以使用(yòng)查詢緩存功能(néng)來(lái)提高(gā↑βπφo)性能(néng),而且無需自(zì)己使用(yòng)緩存方法進行(x≈'>íng)緩存和(hé)獲取。

查詢緩存功能(néng)支持所有(yǒu)的(d¥↕e)數(shù)據庫,并且支持所有(yǒu)的(de)緩存方式和(hé)有(y♠₹ǒu)效期。

在使用(yòng)查詢緩存的(de)時(shí)候,隻需要(yào)'©'✔調用(yòng)Model類的(de)cache方法,<≈例如(rú):

  1. $Model->cache(true)->where('status=1')->select();

如(rú)果使用(yòng)了(le)cache(true) ,則在查詢的(de)同時(shí)會(huì)根據當前的(de)查詢條件(jiβεàn)等信息生(shēng)成一(yī)個(gè)帶有(yǒu)©™唯一(yī)标識的(de)查詢緩存,如(rúσ∑↑γ)果指定了(le)key的(de)話(huà),則直接生(shēng)成名稱為₽≠∏(wèi)key的(de)查詢緩存 ,例如(rú):

  1. $Model->cache('cache_name')->select();

指定key的(de)方式會(huì)讓查詢緩存更加高(gāo)效。∑ε≈

默認情況下(xià)緩存方式采用(yòng)DATA_CACHE_TYPE參數(shù)設置的(de)緩存方式(系統默認值為(wèi)File表₹₩€&示采用(yòng)文(wén)件(jiàn)方式緩存​σ♠π),緩存有(yǒu)效期是(shì)DATA_CACHE_TIME參數(shù)設置的(de)時(shí)間(ji↕↓ān),也(yě)可(kě)以單獨制(zhì)定查詢緩存的(deβ"<)緩存方式和(hé)有(yǒu)效期:

  1. $Model->cache(true,60,'xcache')->select();

表示當前查詢緩存的(de)緩存方式為(w ♠èi)xcache,并且緩存有(yǒu)效期為(wèi)60秒(miǎo)。λ✔ 

同樣的(de)查詢,如(rú)果沒有(yǒu)使用(yòng)cach × e方法,則不(bù)會(huì)獲取或者生(shēng)成任何緩存,即便是Ω<(shì)之前調用(yòng)過Cache方法。

如(rú)果指定了(le)查詢緩存的(de)key的(de)話(hλ$¶uà),則可(kě)以在外(wài)部通 ♣δ✔(tōng)過S方法直接獲取查詢緩存的(de)內(nèi)容,例↕₽‍←如(rú):

  1. $value = S('cache_name');

除了(le)select方法之外(wài),查詢緩存δ&₹還(hái)支持find和(hé)getField方法, ¶ ≈以及他(tā)們的(de)衍生(shēng)方ε'法(包括統計(jì)查詢和(hé)動态查詢方法)。

  1. // 對(duì)查詢數(shù)據緩存φ®60秒(miǎo)
  2. $Model->where($map)->cache('key',60)->find();

具體(tǐ)應用(yòng)的(de)時(shí)候可(kě)Ω✔以根據需要(yào)選擇緩存方式和(hé)緩存有(yǒu)效↔×∞ 期。