Solr 利用快取 Cache 的時刻

2021-06-16 12:20:49 字數 1157 閱讀 6079

我們都知道solr配置檔案有三種快取分別是 filtercache,queryresultcache,documentcache 但solr是在什麼時候,什麼情況下會用到這些快取呢,通過看solr的原始碼,下面對solr三種快取做說明

filtercache 快取
filtercache:當搜尋請求引數中帶有引數"ids"時,solr會去filtercache里查,filtercache裡key是query,值是docset,,也就是無序的document id,如果有多個ids裡包含多個id,則用分隔符「,」分開。如果filtercache中沒有對應的值,則通過reader都查詢

對應的docset,並新增到filtercache快取中。

queryresultcache 快取

如果搜尋請求引數沒有ids引數時,則會不去filtercache快取裡找,而且沒有filter時,才是去queryresultcache裡查詢,queryresultcache

裡儲存的是有序的doclist。在查到doclist後,回去取docset,即會在filtercache中查,沒有的話會加到filtercache中,

如果queryresultcache快取中沒有值,也先去取docset,即通過filtercache,沒有對應的值的話,則重新構建,新增到快取中,

則通過一般的查詢方式找到。然後新增到queryresultcache快取中。documentcache 快取documentcache 是在通過doc(int i) 方法取document時,用到的。

documentcache 不存在的話,這通過reader去取,取到document後,新增到documentcache 快取。fieldvaluecache快取

fieldvaluecache 快取是在solr元件facetcomponent元件裡發貨作用的。條件是如果要統計的field是multivalued,也就是有

多個值的情況,solr 會根據field建立乙個field反正類uninvertedfield,通過註解大概了解是節約記憶體和加速facet統計。

httpcache快取

可以看我的部落格:終於寫完了solr的所有快取的應用場景。

MyBatis的快取配置 Cache

一 mybatis的cache配置 select inet aton 二 注意的幾個細節 1 如果readonly為false,此時要結果集物件是可序列化的。2 在sqlsession未關閉之前,如果對於同樣條件進行重複查詢,此時採用的是local session cache,而不是上面說的這些ca...

spring快取cache的使用

在spring配置檔案中新增schema和spring對快取註解的支援 xmlns xmlns aop xmlns xsi xmlns mvc xmlns context xmlns tx xmlns p xmlns cache xsi schemalocation spring beans 3.0...

nginx nginx快取cache的幾種方式

nginx快取cache的幾種方式 官方詳細引數 1 傳統快取之一 404 這個辦法是把nginx的404錯誤定向到後端,然後用proxy store把後端返回的頁面儲存。location location fetch 使用的時候還有要注意是nginx要有許可權往 home tmp和 home ht...