0 0

求大神给我个好的处理方式~~~~5

我要做的:将key-value类似的键值对储存起来。


问题是:
   这个键值对不部分都是在刚产生的10分钟之内会用到,最多也就会用几十次吧.
  
   过了这之后基本是用不到了。。。。
  
   现在面临的是不知道以什么方式去储存这个键值对比较好。。。

   求大神给个好的处理方式。。

   存数据库还是存文件比较好?
2014年11月05日 18:07

5个答案 按时间排序 按投票排序

0 0

可以再创建的时候起一个线程。根据你保留的时候设置一个睡眠时间,每X秒判断一次,如果已经超过你配置的最长试用就销毁那个MAP,同时结束这个线程。这种方法仅限单机,多机器共享不到。
多机器共享可以用缓存之类的,如memcached,redis

2014年11月06日 15:43
0 0

一种考虑 WeakHashMap, 但是不能保证 何时释放,何时保留。

另一种使用 ConcurrentHashMap, Value是一个Pojo,包含时间,比如:

class TimedValue {
  private long storeTime;
  private Object data; //这个可以弄成generic的。

  public TimedValue(Object data) {
    this.storeTime = System.currentTimeMillis();
    this.data = data;
  }
  // 后面实现构造函数和getter/setter
}

每次添加key-value对时,Value用上面的类包裹一下。

另外开一个线程,定时遍历这个map,然后超过10分钟的 entry 删掉。

2014年11月06日 13:28
0 0

临时表ok不ok?

2014年11月06日 12:40
0 0

看你需不需要键值队持久化,倘若键值对数据量不是很大,完全可以放在内存里,至于数据结构有好多开源模型,比如guava 的cache,自带超时移除或持久化功能。
数据量大的话考虑redis,

2014年11月06日 11:11
0 0

放内存吧,失效的时候应该有相应的函数处理吧?然后释放就行了吧。

2014年11月05日 18:54

相关推荐

    volley框架大神做的demo(实现的非常好)

    总之,VolleyDemo是一个极好的学习资源,涵盖了Volley框架的各个方面,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过深入分析和实践这个Demo,你将能够熟练掌握Volley,从而在你的Android应用中实现...

    好谷大神管理系统(finish)

    综上所述,【好谷大神管理系统(finish)】是一个利用Node.js技术栈,结合Express、数据库和其他辅助工具构建的综合资源管理平台,具备高并发处理能力、良好的可扩展性和安全性。它的设计和实现充分体现了现代Web开发...

    求大神帮忙有关火车票发车时间的识别-2car.zip

    对于"求大神帮忙有关火车票发车时间的识别-2car.zip"这个主题,我们可以理解为一个编程任务,其中用户希望从某个数据源(可能是文本文件、数据库或网页)中提取出火车票的发车时间信息。在这个问题中,标签"matlab...

    大神F2全网通(8675-A)救黑砖教程

    ### 大神F2全网通(8675-A)救黑砖教程 #### 教程概述 本教程旨在提供一种解决大神F2...通过上述步骤,即使大神F2全网通(8675-A)不幸成为“黑砖”,也能够通过这种方式进行恢复,从而避免因无法启动而造成的损失。

    支付宝大神分布式处理方案.pdf

    根据提供的文档内容,我们可以提炼出关于分布式处理方案的知识点,具体涉及大规模SOA系统中分布式事务处理的相关概念、技术和实现方式。 知识点一:事务的定义和特性(ACID) 事务是由一组操作构成的可靠、独立的...

    python 大神学习笔记

    在编写Python学习笔记的过程中,作者雨痕详细总结了Python编程语言的许多关键知识点,这些内容覆盖了从基本语法到高级特性等多个层面,对于有一定编程基础的读者来说,这份笔记不仅可以帮助他们复习和巩固已学知识,...

    iOS面试题-千峰教育欧阳大神整理

    欧阳坚,作为千峰教育的大神,整理了一份全面的面试题集,涵盖了C/C++/Objective-C/iOS UI等多个方面。这份资料旨在帮助求职者深入理解iOS开发的核心概念,提高面试成功率。 1. **Objective-C基础** - 对象和类的...

    英国某大神写的C++ Socket类,可在MFc及Linux下编译运行

    总的来说,这个C++ Socket类为开发者提供了一种跨平台的方式来实现网络通信,无论是在Windows(通过MFC)还是在Linux上。通过理解和使用这个类,我们可以快速搭建服务器和客户端,实现数据的可靠传输,这在各种网络...

    286个计算机使用秘籍-大神宝典

    这篇“286个计算机使用秘籍-大神宝典”涵盖了广泛的知识点,旨在帮助用户从新手到专家的进阶之路。以下是一些关键点的概述: 1. **快捷键应用**:熟练使用键盘快捷键是提高电脑操作速度的关键。例如,Ctrl+C和Ctrl+...

    icztutes大神教程的源码

    【icztutes大神教程的源码】是一个与编程相关的资源,由知名开发者icztutes提供,主要用于教学目的。这个压缩包很可能包含了多种编程语言的示例代码、项目结构、函数库以及解释性的注释,旨在帮助学习者理解和掌握...

    鸿洋大神的OkHttp源码,可导入直接使用

    鸿洋大神的OkHttp源码解析提供了深入理解这一工具的机会,让我们能够更好地利用其功能并优化我们的应用程序。下面,我们将详细探讨OkHttp的核心概念、主要功能以及如何导入和使用这个源码。 一、OkHttp的核心概念 ...

    shell编程之从零到壹--大神成就之路

    文件中提到了grep、sed、awk、find等常用命令,这些命令在Shell脚本编写中经常用到,用于文本处理和数据搜索。 9. 流程控制 Shell脚本中的流程控制语句包括if条件语句、case选择语句、for循环语句和while循环语句等...

    27天成为Java大神一个基于浏览器端

    标题中的“27天成为Java大神一个基于浏览器端”似乎是一个快速学习Java的课程或者教程,强调在较短时间内通过在线方式掌握Java编程。然而,描述中提到了"python编程",这与标题中的Java有所冲突,可能是描述错误或者...

    jQuery滚动图片延迟加载插件【一个大神写的】

    本文将深入探讨一个由大神编写的jQuery滚动图片延迟加载插件,以及其背后的原理和实现方式。 首先,理解延迟加载的核心概念。当用户滚动到图片所在区域时,图片才开始加载,而不是在页面一开始就一次性加载所有图片...

    大神版泡MM专用站

    【标题】"大神版泡MM专用站"可能是指一个专为吸引女性用户设计的网站,这个网站可能包含了各种互动、娱乐或者社交功能,旨在帮助用户(尤其是男性用户)更好地与女性沟通交流。然而,标题中的"泡MM"用语在现代互联网...

    酷派大神F2手机刷机系统

    【酷派大神F2手机刷机系统...总的来说,酷派大神F2的刷机系统涉及到多个关键文件和复杂的操作步骤。正确执行刷机过程,可以让你的手机焕发新生,体验更多定制化的乐趣。但同时,也需谨慎对待,以确保设备的安全与稳定。

    苏州大学人机交互实验-三角形绘制与面积计算-孙俊彦大神作品-MFC

    在这个项目中,孙俊彦大神巧妙地运用了MFC中的CWnd类来创建主窗口,并可能使用了CDC类来处理设备上下文,进而实现图形绘制。 在人机交互方面,孙俊彦大神的程序很可能包含了一个用户友好的界面,允许用户输入三角形...

    mars大神的android教程第一季教程源码

    了解这些异步处理方式,可以提升应用的响应速度和用户体验。 8. **权限管理**:自Android 6.0(API级别23)开始,部分敏感权限需要在运行时动态申请。理解权限模型并正确处理权限请求,是保证应用正常运行的关键。 ...

    QT 大神刘某源代码资源

    QT大神刘某源代码资源是一份宝贵的编程学习资料,它主要涵盖了QT库的多个开源项目。QT是一个跨平台的应用程序开发框架,广泛用于创建图形用户界面(GUI)和其他类型的软件。刘某,作为QT领域的专家,他的源代码示例...

    一个大神的Python学习笔记

    - 这种方式更直接但可能不够灵活,如果系统中有多个Python版本,这种方式可能会导致错误地使用了某个版本。 #### 2. 字符编码声明 - **编码声明**: - `# -*- coding: utf-8 -*-` 是一种常见的字符编码声明方式,...

Global site tag (gtag.js) - Google Analytics