一、ehcahe的介紹
EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架,具有高速、精干等特點(diǎn),是Hibernate中默認(rèn)的CacheProvider。Ehcache是一種廣泛使用的開(kāi)源Java分布式緩存。
主要面向通用緩存,Java EE和輕量級(jí)容器。
它具有內(nèi)存和磁盤(pán)存儲(chǔ)。緩存載入器,緩存擴(kuò)展,緩存異常處理程序,一個(gè)gzip緩存servlet過(guò)濾器。支持REST和SOAP api等特點(diǎn)。
優(yōu)點(diǎn):
1. 高速
2. 簡(jiǎn)單
3. 多種緩存策略
4. 緩存數(shù)據(jù)有兩級(jí):內(nèi)存和磁盤(pán),因此無(wú)需操心容量問(wèn)題
5. 緩存數(shù)據(jù)會(huì)在虛擬機(jī)重新啟動(dòng)的過(guò)程中寫(xiě)入磁盤(pán)
6. 能夠通過(guò)RMI、可插入API等方式進(jìn)行分布式緩存
7. 具有緩存和緩存管理器的偵聽(tīng)接口
8. 支持多緩存管理器實(shí)例,以及一個(gè)實(shí)例的多個(gè)緩存區(qū)域
9. 提供Hibernate的緩存實(shí)現(xiàn)
缺點(diǎn):
1. 使用磁盤(pán)Cache的時(shí)候很占用磁盤(pán)空間:這是由于DiskCache的算法簡(jiǎn)單。該算法簡(jiǎn)單也導(dǎo)致Cache的效率很高。它僅僅是對(duì)元素直接追加存儲(chǔ)。因此搜索元素的時(shí)候很的快。假設(shè)使用DiskCache的,在很頻繁的應(yīng)用中,很快磁盤(pán)會(huì)滿。
2. 不能保證數(shù)據(jù)的安全:當(dāng)突然kill掉java的時(shí)候,可能會(huì)產(chǎn)生沖突,EhCache的解決方法是假設(shè)文件沖突了。則重建cache。這對(duì)于Cache數(shù)據(jù)須要保存的時(shí)候可能不利。當(dāng)然,Cache僅僅是簡(jiǎn)單的加速。而不能保證數(shù)據(jù)的安全。假設(shè)想保證數(shù)據(jù)的存儲(chǔ)安全,能夠使用Bekeley DB Java Edition版本號(hào)。
這是個(gè)嵌入式數(shù)據(jù)庫(kù)。能夠確保存儲(chǔ)安全和空間的利用率。
EhCache的分布式緩存有傳統(tǒng)的RMI,1.5版的JGroups,1.6版的JMS。分布式緩存主要解決集群環(huán)境中不同的server間的數(shù)據(jù)的同步問(wèn)題。
使用Spring的AOP進(jìn)行整合,能夠靈活的對(duì)方法的返回結(jié)果對(duì)象進(jìn)行緩存。
以下將介紹Spring+EhCache具體實(shí)例。
二、具體實(shí)例解說(shuō)
本實(shí)例的環(huán)境 eclipse + maven + spring + ehcache + junit
2.1、相關(guān)依賴pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.luo</groupId> <artifactId>ehcache_project</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <!-- spring版本號(hào)號(hào) --> <spring.version>3.2.8.RELEASE</spring.version> <!-- junit版本號(hào)號(hào) --> <junit.version>4.10</junit.version> </properties> <dependencies> <!-- 加入Spring依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <!--單元測(cè)試依賴 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!--spring單元測(cè)試依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!-- ehcache 相關(guān)依賴 --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.8.2</version> </dependency> </dependencies> </project>
網(wǎng)頁(yè)名稱:Spring+EHcache緩存實(shí)例詳解-創(chuàng)新互聯(lián)
當(dāng)前URL:http://aaarwkj.com/article16/dohigg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、小程序開(kāi)發(fā)、定制網(wǎng)站、App開(kāi)發(fā)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容