Кэширование запросов для включения автозаполнения jQuery - PullRequest
6 голосов
/ 09 сентября 2011

Я работаю над приложением, для которого необходимо заполнить поле автозаполнения в форме поиска.Приложение CFML на Railo 3.3.Я использую автозаполнение пользовательского интерфейса jQuery и реализовал поиск на стороне сервера следующим образом:

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 днемистечение срока действия (данные редко изменяются), затем использование запроса запросов для возврата релевантных результатов обратно клиенту.

Мой вопрос просто так;Является ли этот метод агрессивного кэширования и QoQ хорошим шаблоном?Производительность кажется хорошей, а объем памяти разумным (набор данных довольно мал), так что все нормально, но я ищу совет от тех, кто, возможно, пробовал это раньше и обнаружил проблемы?

Любые мысли будут очень цениться.

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

вы можете использовать JQuery Auto Complete

cacheLength: число

для установки разрешения кэширования на стороне клиента, чтобы можно было уменьшить количество обращений к серверу и повысить производительность

0 голосов
/ 20 января 2012

Я использовал эту же технику с большим успехом.

Вы определенно поступаете правильно, предполагая, что ваши данные не растут неожиданно.

...