带缓存的HTTP代理服务器(八)
来源:互联网 发布:js数组转为json字符串 编辑:程序博客网 时间:2024/06/10 00:44
项目地址:https://code.csdn.net/sakeven/httpproxy
LRU算法
LRU算法,即Least recently used,最近最少使用算法,是一种缓存替换算法。
核心思想为,“最近被使用了,那么就很有可能下次还会被使用”。
这个算法,会把最近被使用的资源放到最前面,而最近最少使用的资源会被逐渐挤到尾部,当资源达到一定的容量限制时,最后面的资源就回被删除。
当我看到这个算法时,就联想到了splay tree伸展树。splay tree 是一棵二叉排序树,在每次的插入、删除、访问等过程会把这次访问的结点通过旋转搬移到树根,这样经常被访问的结点就会离树根较近,查找过程所需的时间会更少。与LRU算法有相似之处。
我的项目中采用的用一个map(即红黑树结构)储存cache,并定时清理,但是这样做会造成在大量访问不同页面的时候程序的内存会不断增长变大,最后爆了,所以本有必要限制缓存大小并提高缓存的命中率,此时LRU算法是个不错的选择。
0 0
- 带缓存的HTTP代理服务器(八)
- 带缓存的http代理服务器(一)
- 带缓存的http代理服务器(二)
- 带缓存的HTTP代理服务器(三)
- 带缓存的HTTP代理服务器(四)
- 带缓存的HTTP代理服务器(五)
- 带缓存的HTTP代理服务器(六)
- 带缓存的HTTP代理服务器(七)
- 带缓存的HTTP 代理服务器(9)
- 一个简单的带缓存http代理
- HTTP代理服务器的实现
- 第5章 与HTTP协作的Web服务器、缓存代理服务器、客户端缓存
- 当Android遇见HTTP缓存代理服务器
- HTTP协议分析系列(八)------http协议缓存详解
- HTTP协议分析系列(八)------http协议缓存详解
- android http请求 史上安卓功能最全的http请求框架(带缓存)
- 转 Centos7下使用Squid快速搭建带认证的HTTP代理服务器
- Centos7下使用Squid快速搭建带认证的HTTP代理服务器
- POJ3311 Hie with the Pie 状压DP
- 栈的应用举例3(表达式求值)
- HDU4864
- 英国24岁大猩猩成精了 像人一样直立行走
- 预处理指令(2) - #define
- 带缓存的HTTP代理服务器(八)
- java运行内存分配图
- HDU4865
- 李宁上半年亏损5.86亿关店244家 放弃赞助体操队
- primefaces+jdbc实现单表操作
- systemverilog-modelsim中运行命令,时间精度,include
- OpenGL: 屏幕二维坐标转化成三维模型坐标
- linux 学习书籍
- 的发生的方式法规的规定发鬼地方