在项目的开发中遇到一个这样的问题:没一个系统用户要有很多与之关联数据,而由于一些页面的加载是由这些数据来判断过滤的,所以与数据库交互加载这样数据的时间变的不可忍受,尤其是大数据量的时候。所以一个比较简单但又实用的方法就是将这些数据缓存起来,供后来调用。
    在设计与实现这个简单缓存容器的时候,我想参考一下Microsoft的Application Block:Caching Framework,所以为了能使自己的设计水平提高,在这里我先把参考Caching Framework前的设计想法写下来,以备在后面比较,希望能有大的收获
    在开发的过程中,采用迭代开发的思想,不是赶时髦,只是想让自己持续的看到成果,不然的话会让我失去信心的,主要迭代周期一起各迭代周期的内容如下:
    一期:支持最基本的插入缓存数据、自定义键字段、根据键获取缓存数据的方法。
    二期:支持缓存数据的过期、依赖属性的应用,处理缓存数据的过期与同步问题,为缓存数据添加同步支持。
    三期:重构代码以支持更广的缓存数据应用。

下面我按照时间顺序说明的我设计过程:
    一期:
    
    初期想法:设计一个CacheManager类,它有两个方法,Add(object key,object value),Delete(object key),Get(object key),三个方法,内部实现也就是基本的Cache方法包装。

参考了Caching Framework后的改进想法:
    1.将Cache的管理功能与存储分开,提取一个CacheManager来管理执行诸如一些添加、删除、获取、清除的方法,添加一个CacheStorage类来处理存储,而且由于存储方式可能有不同,所以设计一个接口,其他不同的实现方式来实现。
    2.包装Cache项,加入Metadata如:过期、依赖、回调、优先级等方法。

转载于:https://www.cnblogs.com/Masterpiece/archive/2004/11/24/67897.html

设计一个简单的缓存容器相关推荐

  1. 大学慕课MOOC设计一个简单的计算工具

    题目: ‎编程题: ‎设计一个简单的四则运算工具,有一个标题为"计算"的窗口,窗口布局为FlowLayout.设计四个按钮,分别命名为"加"."减&q ...

  2. 如何设计一个简单的KV数据库

    下面的内容仅供设计一个简单的KV数据库.如果想要实现一个功能更强的KV数据库的话,还需要考虑:更加丰富的数据类型.数据压缩.过期机制.数据淘汰策略.集群化.高可用等功能,另外还可以增加统计模块.通知模 ...

  3. 2.一个简单的Servlet容器

    章前准备     如何处理ifelse众多的问题,当然也可以说是switch case     我们经常写这样的代码,如果这货小一点,且可预测什么的,那都不是事,问题是如果他要是可拓展的类- -!让他 ...

  4. 如何用Java设计一个简单的窗口界面(学习中.1)

    如何用Java设计一个简单的窗口界面 一.前言 二.简单了解 1.Swing简介 2.框架(frame) 3.层次 三.步骤 1.打开eclipse,依次创建项目,包,类. 2.代码 2.1最简单的可 ...

  5. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...

    用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...

  6. python界面设计-手把手教你用Python设计一个简单的命令行界面

    原标题:手把手教你用Python设计一个简单的命令行界面 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰.今天,我们就来教大家如何设计功能完整的 Pyth ...

  7. tomcat(2)一个简单的servlet容器

    [0]README 0.1)本文部分文字转自 "深入剖析Tomcat",旨在学习  一个简单的servlet容器  的基础知识: 0.2)for complete source c ...

  8. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...

    在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...

  9. java 缓存方法_Java实现一个简单的缓存方法

    Java实现一个简单的缓存方法 发布时间:2020-09-07 21:39:55 来源:脚本之家 阅读:99 作者:BrightLoong 缓存是在web开发中经常用到的,将程序经常使用到或调用到的对 ...

最新文章

  1. 2022-2028年中国干电池制造行业产销需求与投资预测分析报告
  2. java2018笔试基础题_java基础笔试题
  3. Apache Ignite——集合分布式缓存、计算、存储的分布式框架
  4. python工作招聘-python爬虫 智联招聘 工作地点
  5. box-sizing详解
  6. Apple watch 开发指南(1) 预览
  7. SAP ABAP Netweaver和Hybris Commerce的开发license
  8. Vijos P1196吃糖果游戏[组合游戏]
  9. Spring Security构建Rest服务-0600-SpringSecurity基本原理
  10. Redis 订阅与发布
  11. python标准库time_python标准库介绍——12 time 模块详解
  12. VMware15 Pro激活密钥
  13. Source Insight 4.0.0084 Patched
  14. 联想一体机计算机用户名锁定,联想电脑输入密码多次被锁定怎么办
  15. 设备唯一标识方法(Unique Identifier):如何在Windows系统上获取设备的唯一标识
  16. MATLAB 信号与系统
  17. 2021新宁二中高考喜报成绩查询,新宁各校高考喜报!最高分684,全县大获得丰收!看有你认识的吗?...
  18. 解决极客时间网页文字无法选中或复制copy
  19. poi-tl生成word中文和西文使用不同字体
  20. VITA 57 FPGA 夹层卡(FMC)

热门文章

  1. RedOffice教你DIY环保小日历
  2. Linux SSH命令使用大全
  3. openwrt编译时遇到的报错
  4. s6-7 TCP 传输策略
  5. 云原生 DevOps,模型化应用交付能力很重要
  6. 阿里云贾扬清:大数据+AI工程化,让数据从「成本」变为「资产」
  7. 阿里技术专家对 SRE 的解读
  8. Java 正青春:现状与技术趋势报告
  9. Riot美术师经验分享:好设计是改出来的
  10. 从《英雄联盟》的装备系统谈玩家行为与游戏设计