java-web项目里面的缓存问题,在线等大神

需求:
用户调用接口去数据库查询一些数据,然后我们为了减少用户访问数据库的次数所以想采用缓存的方式。

然后我的解决方式是:将用户查出来的数据存到application里面,然后每隔xx时间就清空一次application里面的对应属性。然后我现在用Timer已经做好了定时清理的功能了。

问题:
1,我希望能够在服务器启动的时候定时器就开始计时,这个功能怎么做?
2,有没有其他更好的方式去实现缓存?

第1个回答  2014-09-25

    一种解决方法是配一个listener,在里面启动定时器.

    简单缓存可以封装LinkedHashMap,因为它是有顺序和有大小限制的.在其基础上加上大小和超时处理.

    或者使用Guava的cache封装,这是一个Google提供的java cache,可以像Map一样使用.

    在java外部使用cache,便于多个服务器共享数据.比如Redis,Memcached,

本回答被提问者和网友采纳

Javaweb题目,求大神解答指点
在 Java Web 开发中,你可以使用过滤器 (Filter) 来禁止浏览器缓存页面。这里是基本的实现步骤:创建一个新的过滤器类,实现 javax.servlet.Filter 接口。这个类应该包含一个实现了 doFilter 方法的代码块,该方法将在过滤器生效时被调用。在 doFilter 方法中,你可以使用 HttpServletResponse 对象的 s...

java web开发缓存方案,ehcache和redis哪个更好
1、适合使用ehcache的场景:选用Ehcache作为数据存储服务器,Ehcache也是基于内存存储,支持定时持久化功能,非常适合存储像计数器这种小数据类型。处理Http请求使用Tomcat容器,结构图如下:实现原理:处理逻辑采用一个servlet实现,并且在这个servlet中通过一致性Hash从Ehcache中获取计数器值。2、高并发并且对实时...

Java中缓存的问题,session,hibernate的缓存,二级缓存,以及我们把常用的...
一级缓存又名session级缓存,就是hibernate查询数据库后将查询结果存放在缓存中,这样下一次查询相同数据时就不会从数据库中拿数据,就可以直接在缓存中拿数据,加快了访问速度。因为从数据库中拿数据时费时费力的所以有了缓存就大大减小了服务器压力。hibernate支持二级缓存,但是需要第三方插件。需要手动开...

eclipse中的缓存怎么清理
1.普通的java项目、javaweb项目:1). 点击菜单栏上面的project---选择clean ..2). 选择clean projects selected below --在想要清理的项目前面打上勾---点击ok 3). 稍等片刻。。。 完成清理了 2.maven项目 的清理 1). 选中项目名---右击---选run as ---maven clean 2). 会看到控制...

java web缓存问题,一般多大的用户量才用到缓存插件啊???
这个也没有规定,看项目架构和软件的应用领域,我们项目里一直都用redis+mongodb+rdbms,一般互联网类的项目都会用;

java web开发缓存方案,ehcache和redis哪个更好
Ehcache 在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。1. 够快 Ehcache...

如何禁用eclipse中的项目缓存
在Java web项目中经常出现重命名一个Java文件,最后不能运行,原因是tomcat服务器有缓存。解决办法是进行clean。在一个项目中,如果我们想要对全部类文件及配置文件进行重新编译,在Eclipse可以采取如下办法:在Eclipse下,选中Project下的Clean一项,进入之后可以看到Clean all projects选后点“OK”就可以了。

北大青鸟java培训:web服务器缓存基本定义?
Web缓存的种类浏览器缓存你在查看现代Web浏览器(比如IE、Safari或Mazilla)选项的时候,可能会看到“缓存”设置。这个选项让你配置一部分硬盘空间来保存你看过的表述。浏览器缓存的规则相当简单。它通常会在一次会话(即当前浏览器中一次调用)中检查表述是否新。这个缓存在用户使用“回退”按钮或者点击一个...

java缓存是什么意思
Java缓存是指将经常使用的数据缓存到内存中,加快数据的读取速度。Java缓存通常被应用于访问频繁、计算代价高、资源有限的应用程序中,例如网络应用、计算机图形、数据库管理系统等。Java缓存可以减少磁盘或网络读写次数,提高程序的响应速度,是优化程序性能的一种常用手段。Java缓存的使用范围非常广泛。在Web...

java web项目使用hibernate的从数据库中取数据的问题
你可以这么干,用的是mysql数据库show PROCESSLIST这个命令然后你点你页面的操作,看看数据库是不是新建连接了!如果没有你session里的数据就是取的缓存的

相似回答