开发基于BS模式的程序,都有报表模块,那么如何开发报表模块。

1.定时发布报表数据到指定的临时表(可能是定时任务)

2.用户通过HTTP请求后台,访问临时表,查询报表数据

3.增加memcached缓存,再次访问是直接访问缓存。

====================================================================================================

基于事件机制,异步的

可以很好的支持水平的扩容,各个节点直接不会相互通信

Memcached主要的cache机制是LRU(最近最少用)算法+超时失效 :一种内存的模拟的数据结构-链表

====================================================================================================

memcached原理:基于内存的缓存分布式系统,基于libevent(epoll)或者的事件机制,保证非阻塞的网络IO,内部数据结构采取链表,Hash索引。内存管理图:分配的内存分割成各种尺寸的块(chunk), 并把尺寸相同的块分成组(chunk的集合)

memcached根据收到的数据的大小,选择最适合数据大小的slab(图2)。 memcached中保存着slab内空闲chunk的列表,根据该列表选择chunk, 然后将数据缓存于其中

看到这里,总结Memcahed有两点:对于内存的管理基于LRU进行管理,对于内存的分配测试基于上述图,减少内存碎片。同时多个Memcached之间不可通信,实现memcahed的

分布式,基本在客户端实现,采用特定的分配算法。(大部分的内存管理基本都是这种方式比如数据库等)

参考:http://kb.cnblogs.com/page/42731/

redis,ECCAHED等

最新文章

  1. Java开发的几个注意点
  2. 防御CSRF的方法有哪些(一) HTTP 头中自定义属性并验证 CSRF跨站域请求伪造攻击
  3. chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]
  4. 学习SQLite之路(三)
  5. lightoj 1014
  6. CentOS 更新yum源
  7. intelij idea
  8. 解决IE10以下对象不支持“bind”属性或方法
  9. oracle中backup模式
  10. 克隆git仓库中的一个分支
  11. dojo省份地市级联之地市Dao接口类(四)
  12. Delphi 获取DataSet传入参数后的SQL命令
  13. 【C语言编程练习】5.11 猴子吃桃子问题
  14. 修改教材P74 一行代码 NineNineTable.java, 让执行结果是个三角形
  15. C#生成Excel保存到服务器端并下载
  16. light1341 唯一分解定理
  17. 小甲鱼Python第十讲课后题---
  18. C#多线程和异步(一)——基本概念和使用方法
  19. js时间加减
  20. oracle数据库无法导出空表的问题解决(开始于oracle11g)

热门文章

  1. diary of django
  2. ARM裸板开发:07_IIC 通过IIC总线接口读写时钟芯片时间参数实现的总结
  3. WebGL编程指南案例解析之平移和旋转的矩阵实现
  4. Apache2.4配置总结(转)
  5. Jsonp的实现
  6. .NET 中使用 Mutex 进行跨越进程边界的同步
  7. POJ3276(遍历+区间修改)
  8. knowledge-repo 知识管理简单试用
  9. js模板引擎之juicer,特别好用
  10. 防范SQL注入漏洞攻击