【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
一、jar包支持
<!-- redis支持 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
<!-- redis支持 -->
二、spring配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
<!-- 配置Jredis连接池 -->
<bean id="jedisPool" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxActive" value="1000" />
<property name="maxIdle" value="50" />
<property name="maxWait" value="5000" />
<property name="testOnBorrow" value="true" />
</bean>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}" />
<property name="port" value="${redis.port}" />
<property name="poolConfig" ref="jedisPool" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"></property>
</bean>
<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"></property>
</bean>
</beans>
三、单元测试配置
package com.iflashbuy.service.test.base;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
@ContextConfiguration(locations = {"classpath:app-*.xml"})
@TransactionConfiguration(defaultRollback = true)
@RunWith(SpringJUnit4ClassRunner.class)
public class BaseTest extends AbstractTransactionalJUnit4SpringContextTests {
}
四、code
package com.iflashbuy.service.limanman;
import javax.inject.Inject;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import com.iflashbuy.service.product.dto.ProductDTO;
import com.iflashbuy.service.test.base.BaseTest;
public class RedisTest extends BaseTest {
@Inject
StringRedisTemplate strRedisTemplate;
@Autowired
private RedisTemplate<String, ProductDTO> redisTemplate;
@Test
public void testStringRedisTemplate() {
strRedisTemplate.opsForValue().append("name", "fengshu");
String name = strRedisTemplate.opsForValue().get("name");
logger.info(name);
Assert.assertTrue(StringUtils.isNotEmpty(name));
strRedisTemplate.delete("name");
name = strRedisTemplate.opsForValue().get("name");
Assert.assertTrue(StringUtils.isEmpty(name));
}
@Test
public void testRedisTemplate() {
ProductDTO productDTO = new ProductDTO();
productDTO.setId("1");
redisTemplate.opsForSet().add(productDTO.getId(), productDTO);
productDTO = redisTemplate.opsForSet().pop("1");
Assert.assertTrue("1".equals(productDTO.getId()));
}
}
五、StringRedisTemplate和RedisTemplate区别
RedisTemplate支持pojo对象,StringRedisTemplate键值对操作的是字符串.
来源:oschina
链接:https://my.oschina.net/u/1265394/blog/497163