ehcache使用

Ehcache 整合Spring 使用页面、对象缓存

喜你入骨 提交于 2020-02-08 11:08:36
来源于:http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度。 一、准备工作 如果你的系统中已经成功加入Spring、Hibernate;那么你就可以进入下面Ehcache的准备工作。 1、 下载jar包 Ehcache 对象、数据缓存: http://ehcache.org/downloads/destination?name=ehcache-core-2.5.2-distribution.tar.gz&bucket=tcdistributions&file=ehcache-core-2.5.2-distribution.tar.gz Web页面缓存: http://ehcache.org/downloads

Spring+SpringMvc+Mybatis+ehcache ssm简单整合ehcache缓存

让人想犯罪 __ 提交于 2020-02-04 22:42:14
z这里只讲ssm整合ehcache缓存,对于还不了解ssm的童鞋,请先浏览ssm整合那篇 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 首先配置EhCache jar包 <!-- ehcache 相关依赖 --> <!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.4</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> </dependencies> 目录结构 配置ehcache

大型分布式系统中的缓存架构

十年热恋 提交于 2020-02-04 22:37:02
大型分布式系统中的缓存架构 本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要分为四类,如下图: 缓存的分类 CDN 缓存 CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中。 在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。 应用场景:主要缓存静态资源,例如图片,视频。 CDN 缓存应用如下图: 未使用 CDN 缓存 使用 CDN 缓存 CDN 缓存优点如下图: 优点 反向代理缓存 反向代理位于应用服务器机房,处理所有对 Web 服务器的请求。 如果用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。 如果没有缓冲则先向 Web 服务器发出请求,取回数据,本地缓存后再发送给用户。通过降低向 Web 服务器的请求数,从而降低了 Web 服务器的负载。 应用场景:一般只缓存体积较小静态文件资源,如 css、js、图片。 反向代理缓存应用如下图: 反向代理缓存应用图 开源实现如下图: 开源实现 本地应用缓存 指的是在应用中的缓存组件,其最大的优点是应用和 Cache 是在同一个进程内部,请求缓存非常快速,没有过多的网络开销等。

ehcache、redis应用场景比较

天大地大妈咪最大 提交于 2020-02-04 22:32:39
应用场景: ehcache是Hibernate中默认的CacheProvider,直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 . 缓存数据有两级:内存和磁盘,因此无需担心容量问题,提供Hibernate的缓存实现 Ehcache 在 Java 项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。 什么特色? 1. 够快 Ehcache的发行有一段时长了,经过几年的努力和不计其数的性能 测试 ,Ehcache终被设计于large, high concurrency systems. 2. 够简单 开发者提供的接口非常简单明了,从Ehcache的搭建到运用运行仅仅需要的是你宝贵的几分钟。其实很多开发者都不知道自己用在用Ehcache,Ehcache被广泛的运用于其他的开源项目 比如: hibernate 3.够袖珍 关于这点的特性,官方给了一个很可爱的名字small foot print ,一般Ehcache的发布版本不会到2M,V 2.2.3 才 668KB。 4. 够轻量

Spring Boot Shiro权限管理3

纵然是瞬间 提交于 2020-02-04 22:31:44
原文地址:https://412887952-qq-com.iteye.com/blog/2299780 在pom.xml中加入缓存依赖;注入缓存; (a) 在pom.xml文件中加入依赖: <!-- shiro ehcache --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.2.2</version> </dependency> <!-- 包含支持UI模版(Velocity,FreeMarker,JasperReports), 邮件服务, 脚本服务(JRuby), 缓存Cache(EHCache), 任务计划Scheduling(uartz)。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> (b)注入缓存 在com.kfit.config.shiro.ShiroConfiguration中加入如下方法: /** * shiro缓存管理器; * 需要注入对应的其它的实体类中: * 1、安全管理器:securityManager *

Shiro【授权过滤器、与ehcache整合、验证码、记住我】

心已入冬 提交于 2020-01-31 04:50:19
前言 本文主要讲解的知识点有以下: Shiro授权过滤器使用 Shiro缓存 与Ehcache整合 Shiro应用->实现验证码功能 记住我功能 一、授权过滤器测试 我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截。我们可以在application-shiro中配置filter规则 <!--商品查询需要商品查询权限 --> /items/queryItems.action = perms[item:query] /items/editItems.action = perms[item:edit] 测试流程: 1、 在applicationContext-shiro.xml中配置filter规则 <!--商品查询需要商品查询权限 --> /items/queryItems.action = perms[item:query] 2、 用户在认证通过后,请求/items/queryItems.action 3、被PermissionsAuthorizationFilter拦截, 发现需要“item:query”权限 4、PermissionsAuthorizationFilter 调用realm中的doGetAuthorizationInfo获取数据库中正确的权限 5、PermissionsAuthorizationFilter对item

spring的ehcache缓存技术

﹥>﹥吖頭↗ 提交于 2020-01-26 17:57:47
首先要有一个搭建好的ssm框架,笔者使用的是基于maven搭建的ssm框架。 加入spring缓存: 1. 导入POM相关依赖包:如果maven项目无法下载ehcache的的相关jar包,需要自己手工导入,见文件中 1 <dependency> 2 <groupId>org.springframework</groupId> 3 <artifactId>spring-context-support</artifactId> 4 <version>4.3.7.RELEASE</version> 5 </dependency> 6 <dependency> 7 <groupId>net.sf.ehcache</groupId> 8 <artifactId>ehcache</artifactId> 9 <version>1.6.2</version> 10 </dependency> 2. 加入ehcache的配置文件ehcache.xml:(注意文件的位置!) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache

java-mybaits-00602-查询缓存-mybatis整合ehcache

大兔子大兔子 提交于 2020-01-16 16:47:36
ehcache是一个分布式缓存框架。EhCache 是一个纯Java的进程内缓存框架,是一种广泛使用的开源Java分布式缓存,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 1.1.1 分布缓存 我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓存数据进行集中管理。 mybatis无法实现分布式缓存,需要和其它分布式缓存框架进行整合。 mybatis整合ehcache mybatis整合redis 1.1.2 整合方法(掌握) mybatis提供了一个cache接口,如果要实现自己的缓存逻辑,实现cache接口开发即可。 mybatis和ehcache整合,mybatis和ehcache整合包中提供了一个cache接口的实现类。 mybatis提供二级缓存Cache接口,如下: mybatis默认实现cache类是: 它的默认实现类: 通过实现Cache接口可以实现mybatis缓存数据通过其它缓存数据库整合,mybatis的特长是sql操作,缓存数据的管理不是mybatis的特长,为了提高缓存的性能将mybatis和第三方的缓存数据库整合,比如ehcache、memcache、redis等。 在mapper

【spring-boot】spring-boot 整合 ehcache 实现缓存机制

不打扰是莪最后的温柔 提交于 2020-01-15 03:28:13
方式一:老 不推荐 参考:https://www.cnblogs.com/lic309/p/4072848.html /*************************第一种 引入 ehcache.xml 使用注解即可 ********************************** 方式二:集成springboot 参考:https://www.jb51.net/article/135050.htm 2.1依赖: <!-- 缓存 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <!-- ehcache --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> </dependency> 2.2 入口类配置 加入注解 @EnableCaching @SpringBootApplication @EnableCaching public class DemoApplication { } 2.3 在src\main\resources目录下,添加ehcache

Ehcache整合spring配置,配置springMVC缓存

倖福魔咒の 提交于 2020-01-15 02:35:50
为了提高系统的运行效率,引入缓存机制,减少数据库访问和磁盘IO。下面说明一下ehcache和 spring 整合配置。 1. 需要的jar包 slf4j-api-1.6.1.jar ehcache-core-2.1.0.jar ehcache-spring-annotations-1.1.2.jar slf4j-log4j12-1.6.1.jar spring-context-support-4.0.6.RELEASE.jar 2. ehcache.xml <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> <diskStore path="java.io.tmpdir/ehcache"/> <!-- 默认缓存 --> <defaultCache maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="false"/> <!-- 菜单缓存 -->