查询缓存以支持jQuery自动完成功能

Nei*_*ock 6 jquery jquery-ui autocomplete railo cfml

我正在开发一个需要搜索表单上的自动填充字段的应用程序.该应用程序是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;
}
Run Code Online (Sandbox Code Playgroud)

基本上我在第一次查找时将整个站列表加载到缓存中,1天到期(数据很少更改),然后使用查询查询将相关结果返回给客户端.

我的问题只是这个; 这种激进的缓存和QoQs技术是一个很好的模式吗?性能似乎很好,内存占用很合理(数据集非常小),所以它"感觉"还可以,但我正在寻找那些之前尝试过这些并发现问题的人的建议吗?

任何想法都会非常感激.

Vij*_*mar 1

您可以使用 Jquery 自动完成

缓存长度:数字

在客户端设置缓存启用,可以减少对服务器的调用次数并提高性能