`
nkliuliu
  • 浏览: 211955 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

缓存的简单自实现

阅读更多

      上一篇文章《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个顾客的需求匹配,那么会把最早也就是第一位的顾客匹配结果移除。

0
0
分享到:
评论

相关推荐

    android缓存的简单实现

    本文将深入探讨Android缓存的简单实现,并基于提供的资源文件`AsimpleCacheDemo.rar`和`ASimpleCache-master.zip`进行解析。 1. **缓存的基本概念** 缓存是一种存储技术,用于临时存放频繁访问的数据,以便快速...

    spring简单的缓存

    本示例将聚焦于“Spring简单的缓存”实现,帮助开发者了解如何在Spring框架中集成和使用缓存功能。 Spring框架提供了强大的缓存抽象,支持多种缓存机制,如 EhCache、Redis、Hazelcast 和 Infinispan 等。在Spring...

    高速缓存实现源码

    本项目通过源码实现了一个简单的高速缓存,展示了其在多线程并发环境下的性能优势。 在Java中,高速缓存的实现通常依赖于数据结构如哈希表(HashMap)或并发容器如ConcurrentHashMap。哈希表提供快速的查找和插入...

    PHP实现的简单缓存类.zip

    本文将深入探讨使用PHP实现的简单缓存类,并基于标题、描述及提供的压缩包文件名来详细解释相关知识点。 首先,我们要了解什么是缓存。缓存是一种存储系统,用于临时存储频繁访问的数据,以便后续请求可以快速获取...

    java map 实现缓存技术

    总的来说,Java Map提供了一种简单而有效的方式实现缓存技术。开发者可以根据具体需求选择合适的Map实现,并结合各种策略来管理和维护缓存,以提升系统的响应速度和效率。在实际应用中,还可以考虑使用第三方库如...

    基于python简单实现缓存系统-自动缓存

    python 基于python简单实现缓存系统-自动缓存. 基于python简单实现缓存系统-自动缓存.

    让html页面不缓存js的实现方法

    不缓存JS的方法其实挺简单,CSS在某种条件下也可以如此使用; 先让大家了解下不缓存的一个简单的原理: 当浏览不同Url时,浏览器会自动将当前访问的地址进行一次缓存;而第二次访问时着调用缓存下来的页面,从而达到...

    java简单的缓存池实现

    java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现,java缓存原理,简单的缓存池实现。

    java 缓存的简单实现

    java缓存实现demo完整实例,很不错的资源,欢迎大家来下载学习。/** * 此函数接受一个对象列表,数目不定,opration:表是触发的事件 * eg:change;fnClear:表示初始化下拉框。var_args表示多个下拉框... */ ...

    缓存组件的实现(go语言实现)

    最后,通过实验步骤,我们能够得到一个简单的缓存系统实现。整个过程不仅让开发者深入理解了缓存的工作原理,而且还锻炼了使用Go语言解决问题的能力。这种动手实践的方式是学习IT技术,特别是深入了解系统底层原理...

    GDI+双缓存实现简单的图片动画效果

    在本文中,我们将深入探讨如何利用GDI+的双缓存机制来实现一个简单的图片动画效果。 首先,我们要理解双缓存的概念。双缓存是一种优化UI(用户界面)更新的技术,主要用于减少屏幕闪烁和提高性能。在GDI+中,双缓存...

    几种缓存方案的实现

    在IT行业中,缓存是一种非常...综上所述,ASimpleCache和SharedPreferences是Android开发中常见的两种缓存实现,它们各有特点,适应不同的应用场景。了解并熟练掌握这些缓存方案,对于优化Android应用的性能至关重要。

    自己实现的Android 三级缓存图片加载框架

    2. **磁盘缓存策略**:可能使用SQLite数据库或者简单的文件系统存储图片,通过哈希值作为文件名,便于快速查找和存储。 3. **多线程加载**:利用Android的Loader机制或者自定义线程池实现图片的异步加载,避免UI...

    分布式缓存服务器memcacaed的源代码

    分布式缓存服务器Memcached是互联网应用中广泛使用的内存对象缓存系统,用于减轻数据库的负载,提高应用程序的性能。Memcached的设计目标是简单且高效,它通过在内存中存储数据来提供快速的数据访问。让我们深入了解...

    分页缓存

    这里我们以Ehcache为例,讨论如何构建一个简单的分页缓存系统。 1. **Ehcache配置**:首先,我们需要在项目中引入Ehcache的依赖,并配置一个缓存策略。在`ehcache.xml`配置文件中,定义一个缓存区域,设置其大小、...

    java 通过文件实现缓存

    java实现缓存可以通过读取本地文件的方式实现,改代码就是通过读取本地文件实现缓存的简单例子

    Asp.net Core 3.1基于AspectCore实现AOP实现事务、缓存拦截器功能

    给一个方法加一个缓存特性,那这个方法就会进行缓存。 这个也是网上说的面向切面编程AOP。 AOP的概念也很好理解,跟中间件差不多,说白了,就是我可以任意地在方法的前面或后面添加代码,这很适合用于缓存、日志等...

    Exoplayer简单缓存工具类

    Exoplayer可以通过创建CacheDataSourceFactory然后引用SimpleCache来创建实例,从而实现缓存效果。

    实验六 采用高速缓存实现文件读写

    下面是一个简单的示例程序,展示了如何使用高速缓存实现文件读写。 首先,我们需要建立两个文件句柄,一个用于读取源文件,另一个用于写入目标文件。然后,我们可以使用 ReadFile 函数读取源文件的内容,并将其写入...

Global site tag (gtag.js) - Google Analytics