开发过程随笔系列之二 ----- Suggest系统智能提示

本文介绍了开发一个二手车网站的Suggest系统,该系统利用缓存机制提高性能,确保用户快速获取搜索提示。通过配置文件实现缓存策略和消息队列的扩展性,同时实现了业务处理和表现层的分离,便于部署和多平台使用。
摘要由CSDN通过智能技术生成

Suggest系统智能提示

                                                                                                        --------- 开发过程随笔系列之二

项目简介 Suggest功能具有一定的技术难点,对Google与Baidu等搜索引擎来说Suggest库是主要难点之一,但与搜索引擎不同,我们的网站最主要的信息是车源信息,用户的搜索目地也是如此,信息范围小且单一,所以降低了技术难度,我们的Suggest功能的信息主体是二手车车源信息,目地是方便我们网站的用户找到他中意的二手车.

开发周期1月/人

源代码位置

$/B二手车/suggest.

性能上的考虑:    

    这种东西肯定得需要性能上的保证,否则用户就会对你的这个东西失去耐心,从而弃之.为了提高性能充分的采用了缓存机制,尽可能的减少用户等待时间.

扩展和可配置化:    

一个好的程序扩展性很强可配置性很高.本程序注重这点.可以分为以下几部分。

缓存策略:可在配置文件里配置具体的缓存时间。

<appSettings>
    <!--系统级别缓存(分钟)-->
    <add key="SystemCachTimeSpan" value="30"/>
    <!--数据级别缓存(分钟)-->
    <add key="DataCachTimeSpan" value="30"/>
    <!--检索结果级别缓存(分钟)-->
    <add key="ResultCachTimeSpan" value="5"/>
  </appSettings>

消息队列配置:由于需要记录 用户行为,采用消息队列处理用户信息,为了方便扩展可以在配置文件里做培植,指定可以分发到多台服务器上。

<BitAuto.Ucar.Suggest.MSMQConfig>
    <CommonConfig>
      <MsmqConfig Enabled="True" AllowMultiSendMessage="False" DefaultMessageSendArrdess="./Private$/suggestkeywordmessage">
        <MultiMessageAddress>
          <add MessageAddressName="./Private$/suggestkeywordmessage" Enabled="True"></add>
          <add MessageAddressName="./Private$/KeyWordReceiveMessage2" Enabled="True"></add>
        </MultiMessageAddress>
      </MsmqConfig>
    </CommonConfig>
  </BitAuto.Ucar.Suggest.MSMQConfig>

业务处理和表现层分离:    

把逻辑放到业务逻辑层,使系统更加松耦合,模块之间高内聚。

部署更加方便: 

由于只是一个辅助性的东西,为了更加方便部署在脚本里做了封装只需引用

 <!--Suggest智能提示开始-->
    <script type="text/javascript" src="http://suggest.ucar.cn/js/suggestframework.js"></script>
    <script type="text/javascript" src="http://suggest.ucar.cn/js/SuggestOutPut.js"></script>
    <link href="http://suggest.ucar.cn/css/defaultCss.css" rel="stylesheet" type="text/css" />
    <div id="ucar_sugest">
    </div>
    <!--Suggest智能提示结束-->

实现了多平台多网站的任意部署。具体的样式可以通过样式文件去控制。

应用地址:http://www.ucar.cn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值