java web项目中Spring整合Redis的使用

一、添加Redis Maven依赖

	
        
            redis.clients
            jedis
            2.6.2
        

        
            org.springframework.data
            spring-data-redis
            1.7.1.RELEASE
        


二、config.properties

redis.host=192.168.0.254
redis.port=6379  
redis.password=jedis21tb

redis.maxIdle=300  
redis.maxWait=1000  
redis.testOnBorrow=true  
redis.timeout=3000


三、spring配置文件(applicationContext.xml):


	
    
    
    
          
          
          
    
   
    
          
          
          
          
          
    
    
          
          
              
          
          
    

    
          
    
四、java代码

package com.kttx.common;

import java.io.Serializable;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.apache.log4j.Logger;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;

/**
 * redis
 * @author txs
 *
 */
public class RedisUtil {
	
	private static Logger logger = Logger.getLogger(RedisUtil.class);
	
	private static RedisTemplate redisTemplate;
	
	/**
	 * 写入或更新缓存
	 * @param key
	 * @param value
	 * @return
	 */
	public static boolean set(final String key, Object value)
	{
		boolean result = false;
		try {
			ValueOperations operations = redisTemplate
					.opsForValue();
			operations.set(key, value);
			result = true;
		} catch (Exception e) {
			logger.error("write redis is faill");
			e.printStackTrace();
			
		}
		return result;
	}
	
	
	  /** 
     * 写入缓存 
     *  设置失效时间
     * @param key 
     * @param value 
     * @return 
     */  
    public static boolean set(final String key, Object value, Long expireTime) {  
        boolean result = false;  
        try {  
            ValueOperations operations = redisTemplate  
                    .opsForValue();  
            operations.set(key, value);  
            redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);  
            result = true;  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return result;  
    }  
	/**
	 * 读取缓存
	 * @param key
	 * @return
	 */
	public static Object get(final String key)
	{
		Object result = null;
		ValueOperations operations = redisTemplate
				.opsForValue();
		result = operations.get(key);
		return result;
	}
	
	/**
	 * 删除对应的value
	 * @param key
	 */
	public static void remove(final String key)
	{
		if (exists(key)) {
			redisTemplate.delete(key);
		}
	}
	
	/**
	 * 批量删除对应的value
	 * 
	 * @param keys
	 */
	public static void remove(final String... keys) {
		for (String key : keys) {
			remove(key);
		}
	}
	
	/**
	 * 批量删除key
	 * 
	 * @param pattern 正则表达式
	 */
	public static void removePattern(final String pattern) {
		Set keys = redisTemplate.keys(pattern);
		if (keys.size() > 0)
			redisTemplate.delete(keys);
	}
	
	/**
	 * 判断缓存中是否有对应的value
	 * 
	 * @param key
	 * @return
	 */
	public static boolean exists(final String key) {
		return redisTemplate.hasKey(key);
	}

	public  void setRedisTemplate(
			RedisTemplate redisTemplate) {
		this.redisTemplate = redisTemplate;
	}
}
使用:RedisUtil.set(key,value);


你可能感兴趣的:(数据库)