前言
SpringCache不支持集群,只适用于单机环境,集群环境下,每台服务器的spring cache就会不同步,这样就会产生问题,同时SpringCache是代码级的缓存,实际上还是使用的JVM的内存来缓存对象。Redis 作为一个缓存服务器,是内存级的缓存,它是使用单纯的内存来进行缓存,同时redis设置单独的缓存服务器,所有集群服务器统一访问redis,不会出现缓存不同步的情况。Redis和Springcahe进行整合,既能够方便的缓存对象,提升性能,也可以支持集群环境。当然redis不是必须的,其他缓存也是可以的。
Redis集群的搭建
关于redis的集群搭建我在前边的文章中已经介绍过了,请参考:Redis-Cluster集群搭建。
项目下载
项目参考:Redis-SpringCache
Redis整合Spring
maven依赖
<!-- 依赖管理 -->
<dependencies>
<!-- 时间操作组件 -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.5</version>
</dependency>
<!-- Apache工具组件 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<!-- Jackson Json处理工具包 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.2</version>
</dependency>
<!-- httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.5</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 日志处理 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<