一 . 版本号兼容问题
springdata和redis整合时,要注意springdata和redis以及spring之间的版本号是否对应,不对应会报错
在这里我使用以下版本
springData | redis | spring |
---|---|---|
1.8.1.RELEASE | 2.9.0 | 5.1.6.RELEASE |
代码
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<spring.version>5.1.6.RELEASE</spring.version>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.12</log4j.version>
<mysql.version>5.1.6</mysql.version>
<mybatis.version>3.4.5</mybatis.version>
</properties>
<!--springdata和redis整合-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.8.1.RELEASE</version>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</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-web</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-test</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>
二 . 启动Redis服务
在启动时,回想是否曾对redis.conf配置文件修改过,有修改的时候启动redis服务器操作如下
当执行程序出现连接问题时,可能会是这里启动错误.博主在这除了问题弄了一上午才解决
三 . 配置redis的xml文件
redis的xml文件也可以配置在spring.xml中或是单独一个配置文件
在此我配置在spring的配置文件中
<!--开启注解扫描-->
<context:component-scan base-package="cn.luntan.ssm.text">
</context:component-scan>
<!--配置redis连接池-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="5"></property>
<property name="maxTotal" value="100"></property>
</bean>
<!--spring和redis整合-->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="192.168.11.237"></property>
<property name="port" value="6379"></property>
<property name="password" value="123"></property>
<property name="poolConfig" ref="jedisPoolConfig"></property>
</bean>
<!--从连接池获取连接-->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"></property>
</bean>
四 . 实例化jedisTemplate模板
service.java
@Autowired
RedisTemplate<String,String> redisTemplate;
// 使用模板操作Hash