[英]Query caching to power jQuery autocomplete
我正在開發一個需要搜索表單上的自動填充字段的應用程序。 該應用程序是Railo 3.3上的CFML。 我正在使用jQuery UI自動完成,並在服務器端實現了這樣的查找:
private struct function getStationDetails(required numeric uic)
{
var qryCacheStations = new query();
var qryStations = new query();
var cacheData = "";
var resultData = "";
var stcResult = {};
qryCacheStations.setDatasource(variables.instance['dataSource']);
qryCacheStations.setSQL("select distinct uic, name, crs from stations order by name");
qryCacheStations.setCachedwithin(createTimeSpan(1,0,0,0));
cacheData = qryCacheStations.execute().getResult();
qryStations.setDBType("query");
qryStations.setAttributes(srcTbl = cacheData);
qryStations.setSQL("select name, crs from srcTbl where uic = :uic");
qryStations.addParam(name="uic",value=arguments.uic,CFSQLType="CF_SQL_INTEGER");
resultData = qryStations.execute().getResult();
stcResult = {
name = resultData['name'][1],
crs = resultData['crs'][1]
}
return stcResult;
}
基本上我在第一次查找時將整個站列表加載到緩存中,1天到期(數據很少更改),然后使用查詢查詢將相關結果返回給客戶端。
我的問題只是這個; 這種激進的緩存和QoQs技術是一個很好的模式嗎? 性能似乎很好,內存占用很合理(數據集非常小),所以它“感覺”還可以,但我正在尋找那些之前嘗試過這些並發現問題的人的建議嗎?
任何想法都將非常感激。
你可以使用Jquery自動完成
cacheLength:數字
在客戶端設置緩存啟用,這樣可以減少對服務器的調用次數,從而提高性能
我使用這種完全相同的技術取得了巨大的成功
假設您的數據沒有意外增長,那么您肯定是在做正確的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.