spring全家桶之spring-date-redis
今天在项目中用到了spring-date-redis,顺便记录一下
概念:
- 是一内存型的数据库。最大特点:速度快。不擅长处理数据量太大的数据。
- jedis 是redis官方针对java推出一款操作API
- spring data redis 是对jedis的一个封装。
spring data redis的整合技巧
如果整合的框架是需要单独启动一个外部服务,则与spring框架整合的流程,如下:
a>导入pom文件
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.7.2.RELEASE</version>
</dependency>
b>配置与spring整合的配置文件
配置文件放在 src/main/resource目录下,文件名:applicationCotext-redis.xml
配置要整合的技术的连接池(为了与当前整合技术的外部服务建立连接)
- 如果要将redis连接所需的参数进行统一管理,则还需要导入 *.properties文件
<context:property-placeholder location="classpath*:properties/*.properties" />
<!-- redis 相关配置 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWait}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
2.配置与spring( data)整合后的连接工厂(将这个连接的操作交给spring( data)来管理)
<bean id="JedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:pool-config-ref="poolConfig"/>
3.配置spring 的操作模板
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="JedisConnectionFactory" />
</bean>
c>测试框架是否整合成功
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:spring/applicationContext-redis.xml")
public class TestValue {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void setValue(){
redisTemplate.boundValueOps("name").set("---");
}
@Test
public void getValue(){
String str = (String) redisTemplate.boundValueOps("name").get();
System.out.println(str);
}
@Test
public void deleteValue(){
redisTemplate.delete("name");
}
}