springmvc +Redis環境搭建

回顧一下redis搭建環境


pom加入redis配置

<span style="font-size:18px;">        <!-- redis配置 -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.4.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.6.0</version>
        </dependency></span>
redis-config.xml

<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"></bean>
<bean id="connectionFactory" 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" />
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
網上找的一個redis-service封裝類

package org.gsh.radis;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;

public abstract class RedisClient<K extends Serializable, V extends Serializable>  {
    
    @Autowired
    protected RedisTemplate<K,V> redisTemplate ;
    
    /**
     * 添加
     * @param key
     * @param value
     * @return
     */
    public boolean add(final String key, final String value) {
        boolean resultBoolean = false;
        if(redisTemplate != null) {
            resultBoolean = redisTemplate.execute(new RedisCallback<Boolean>() {  
                public Boolean doInRedis(RedisConnection connection)  
                        throws DataAccessException {  
                    RedisSerializer<String> serializer = getRedisSerializer();
                    byte[] keys  = serializer.serialize(key);
                    byte[] values = serializer.serialize(value);  
                    connection.setEx(keys, 120, values);//有效期120s
                    return true;
                    //return connection.setNX(keys, values);  
                }  
            });  
        }else{
            System.out.println(redisTemplate == null);
        }
        return resultBoolean;
    }
    
    /**
     * 根據key獲取對象
     */
    public String get(final String key) {
        String resultStr = null;
        if(redisTemplate != null) {
            resultStr = redisTemplate.execute(new RedisCallback<String>() {
                public String doInRedis(RedisConnection connection)  
                        throws DataAccessException {  
                    RedisSerializer<String> serializer = getRedisSerializer();  
                    byte[] keys = serializer.serialize(key);  
                    byte[] values = connection.get(keys);  
                    if (values == null) {  
                        return null;  
                    }  
                    String value = serializer.deserialize(values);  
                    return value;  
                }  
            });  
        }
        return resultStr;  
    }  

    
    /**
     * 設置redisTemplate
     * @param redisTemplate the redisTemplate to set
     */  
    public void setRedisTemplate(RedisTemplate<K, V> redisTemplate) {  
        this.redisTemplate = redisTemplate;  
    }  
      
    /**
     * 獲取 RedisSerializer
     * <br>------------------------------<br>
     */  
    protected RedisSerializer<String> getRedisSerializer() {  
        return redisTemplate.getStringSerializer();  
    }  
    
}


大功告成,測試自行腦補吧。
發佈了26 篇原創文章 · 獲贊 14 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章