论文部分内容阅读
随着人们步入信息时代,人们的日常生活及工作已越来越离不开各种信息数据的处理。日益增长的信息存储量,庞大的用户查询次数,拥塞的网络都使得数据的查询和执行效率成为了一个瓶颈。作为一个软件产品,良好的运行性能已成为用户的潜在需求,如何减少网络带宽的浪费,如何解决服务器负载过大带来的问题、如何提高系统的处理效率,如何优化用户的体验、减少用户的等待时间,应用级缓存在提高软件性能上扮演了越来越重要的角色。 本文先阐述了缓存的研究背景,介绍了缓存技术的现状并指出了当前数据缓存产品存在的不足。接着对现有的Web数据缓存进行了研究,根据缓存的位置,将Web缓存分为了服务器缓存、客户端缓存和第三方缓存系统,并对每一部分进行了深入的分析。 根据对缓存系统的算法理论和实际应用的研究,本文设计并实现了一个新的应用级缓存系统,并给出了该系统的系统架构和详细设计方案。系统架构部分对该系统的用例进行了分析,给出了系统的逻辑架构,将系统划分成了四个模块:管理模块、数据模块、依赖模块、支持模块,并举例简述了模块之间的联系。详细设计部分对这四个模块进行了深入的设计和实现:管理模块中采用后台线程和网络管道的方法实现了缓存系统在Windows环境和网络环境中的自动清理功能,泛型编程的引入使得用户可以自定义缓存队列,从而使得用户可以对缓存的数据根据不同的业务类型进行分类;数据模块中借鉴了Strategy设计模式,通过将置换算法与缓存队列相分离使得用户可以方便的为指定的缓存队列编写自定义的置换算法;依赖模块中设计了多种缓存项的过期策略,并采用Composite设计模式使得这些策略可以组合使用;在支持模块中,采用性能计数器统计系统和系统中每一条缓存队列的命中情况,并设计了一个配置文件,用户可以查询系统的性能情况并随时更改配置文件中的配置项来设定缓存队列的最大长度和缓存清理的间隔时间。 本文设计的缓存系统具有较强的灵活性和可扩展性,弥补了现有缓存产品中的不足,在软件开发和部署过程中,可以根据具体情况合理的使用一种或多种缓存产品,以达到取长补短、优化性能的目的。