簡體   English   中英

查詢緩存以支持jQuery自動完成功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM