1. 程式人生 > >Springmvc+Redis使用jedisTemplete來操作redis的相關配置和程式碼示例

Springmvc+Redis使用jedisTemplete來操作redis的相關配置和程式碼示例

在上一篇當中介紹了一下整合redis的一些配置,那麼在本章中主要是對於配置jedisTemplete來做一下簡述,廢話不多,直接上配置和程式碼

1.redis.properties

 url=10.4.13.30
port=6379
maxTotal=4096
maxIdle=128
maxWaitMillis=3000
testOnBorrow=true
testOnReturn=true

2.springMVC.xml

<!-- 載入propertise屬性配置 -->
<context:property-placeholder location="classpath:redis.properties"/>

<!-- 配置redis -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${maxTotal}" />
<property name="maxIdle" value="${maxIdle}" />
<property name="maxWaitMillis" value="${maxWaitMillis}" />
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="true" />
</bean>

<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${url}"/>  
        <property name="port" value="${port}"/>
        <property name="poolConfig" ref="poolConfig"/>
</bean>

<!-- redis操作模板,這裡採用儘量面向物件的模板 -->  
    <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">  
        <property name="connectionFactory" ref="connectionFactory" />  
    <!-- 如果不配置Serializer,那麼儲存的時候只能使用String,如果用物件型別儲存,那麼會提示錯誤 can't cast to String!!!-->  
        <property name="keySerializer">  
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
        </property>  
        <property name="valueSerializer">
            <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
        </property>  
    </bean>     

3.使用簡單說明

直接註解

@Resource
private RedisTemplate redisTemplate;

List<Product> productList = redisTemplate.opsForList().range("product", 0, -1);
if(productList.size() > 0){
return productList;
}
else{
ProductExample example = new ProductExample();
example.setOrderByClause("productname");
List<Product> products = productMapper.selectByExample(example);
redisTemplate.opsForList().leftPushAll("product", products);
return products;
}