上一篇文章《java实现离合器技术dsg》
中顾客的查看了一次匹配结果后关了页面,过了一会想再看看这个结果。或者顾客反复刷新查看匹配结果怎么办?这时候就需要一个简单的缓存策略了。代码如下,比较简单:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
public class CacheMatchedResultMap {
private static Map<Long, ArrayList> resultMap = new ConcurrentHashMap<Long, ArrayList>();
private static Queue<Long> queue = new ConcurrentLinkedQueue<Long>();
private static final int QUEUE_SIZE = 100;
public static void put(Long o1, ArrayList o2) {
long id = 0;
queue.add(o1);
if (queue.size() >= QUEUE_SIZE) {
id = queue.poll();
resultMap.remove(id);
}
resultMap.put(o1, o2);
}
public static List getMatchedAndSortedList(long key) {
return resultMap.get(key);
}
}
key业务上讲是顾客的需求条件的主键,value为对应的匹配二手车结果。系统只保持100个顾客需求的匹配结果,如果来了第101个顾客的需求匹配,那么会把最早也就是第一位的顾客匹配结果移除。
分享到:
相关推荐
该资源包含了一个android缓存的基本代码,简单那易懂,喜欢的下载!
java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现。
利用spring实现的简单的缓存的例子,代码解释:http://blog.csdn.net/maoyeqiu/article/details/50238035
java缓存实现demo完整实例,很不错的资源,欢迎大家来下载学习。/** * 此函数接受一个对象列表,数目不定,opration:表是触发的事件 * eg:change;fnClear:表示初始化下拉框。var_args表示多个下拉框... */ ...
分享一个PHP实现的简单缓存类,析构函数,检查缓存目录是否有效,默认赋值,检查缓存是否有效,写入缓存,加载缓存,清除缓存。
不缓存JS的方法其实挺简单,CSS在某种条件下也可以如此使用; 先让大家了解下不缓存的一个简单的原理: 当浏览不同Url时,浏览器会自动将当前访问的地址进行一次缓存;而第二次访问时着调用缓存下来的页面,从而达到...
分布式缓存服务器的源代码,memcacaed-1.4.25,了解它,对大家以后编写一些服务器的缓存,自己的实现,会有所启发和帮助
java实现缓存可以通过读取本地文件的方式实现,改代码就是通过读取本地文件实现缓存的简单例子
给一个方法加一个缓存特性,那这个方法就会进行缓存。 这个也是网上说的面向切面编程AOP。 AOP的概念也很好理解,跟中间件差不多,说白了,就是我可以任意地在方法的前面或后面添加代码,这很适合用于缓存、日志等...
Exoplayer可以通过创建CacheDataSourceFactory然后引用SimpleCache来创建实例,从而实现缓存效果。
利用GDI+绘图,实现了图片动态改变位置及大小了功能,使用双缓存防止闪烁
EhCache EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 主要的特性有: 1. 快速. 2. 简单. 3. 多种缓存策略 4.... 提供Hibernate的缓存实现 10. 等等
java map 缓存 //毫秒计算 this.timeOut = timeOut*1000;
自定义简单版ImageLoader 实现三级缓存,主要用到了 LruCache 以及 DiskLruCache 和线程池
自己实现的一个简单的webapi接口缓存组件,实现很简单,使用也很方便,可以自己扩展。
代码很简单,自定义注解实现缓存机制,需要依赖redis .
Android网络请求缓存方案主要实现了数据库缓存和文件缓存
当前有四个实现,RedisCache、TairCache、CaffeineCache和一个简易的LinkedHashMapCache,要添加新的实现也是非常简单。它的特性: 通过统一的API访问Cache系统 通过注解实现声明式的方法缓存 通过注解创建并配置...
afinal框架实现图片的简单异步缓存加载.rar
对AFNetworking 3.x 的二次封装,封装常见的GET、POST、文件上传/下载、网络状态监测的功能、方法接口简洁明了,并结合YYCache实现对网络数据的缓存,简单易用,不用再写FMDB那烦人的SQL语句,一句代码搞定网络数据的请求...