SSH框架和Redis的整合

1. 相关Jar文件

2. Redis配置文件

redis.host=127.0.0.1   
redis.port=6379 
redis.default.db=1  
redis.timeout=100000  
redis.maxActive=300  
redis.maxIdle=100  
redis.maxWait=1000  
redis.testOnBorrow=true 

   
  
 
     
    
      
          
          
          
          
          
          
            classpath:redis.properties  
          
          
    
    
      
          
          
    
     
      
          
          
          
          
          
          
    
    
      
    
        
      
          
     
    
    
  

3. Redis类

public interface IRedisService {       
    public void set(K key, V value, long expiredTime);  
    public V get(K key);
    public Object getHash(K key, String name);
    public void del(K key);           
} 

public abstract class AbstractRedisService implements IRedisService {  
       
       @Autowired  
        private RedisTemplate redisTemplate;  
       
        public RedisTemplate getRedisTemplate() {  
            return redisTemplate;  
        }  
       
        public void setRedisTemplate(RedisTemplate redisTemplate) {  
            this.redisTemplate = redisTemplate;  
        }  
         
        @Override  
        public void set(final K key, final V value, final long expiredTime) {  
            BoundValueOperations valueOper = redisTemplate.boundValueOps(key);  
            if (expiredTime <= 0)="" {="" valueoper.set(value);="" }="" else="" valueoper.set(value,="" expiredtime,="" timeunit.milliseconds);="" @override="" public="" v="" get(final="" k="" key)="" boundvalueoperations valueOper = redisTemplate.boundValueOps(key);  
            return valueOper.get();  
        } 
        
        @Override 
        public Object getHash(K key, String name){
            Object res = redisTemplate.boundHashOps(key).get(name);
            return res;
        }
       
        @Override  
        public void del(K key) {  
            if (redisTemplate.hasKey(key)) {  
                redisTemplate.delete(key);  
            }  
        }   
       
    } 

@Service("redisService")  
public class RedisService extends AbstractRedisService {  
  
}

public class RedisTool {
    
    private static ApplicationContext factory;
    private static RedisService redisService;
    
    public static ApplicationContext getFactory(){
        if (factory == null){
            factory = new ClassPathXmlApplicationContext("classpath:redis.xml");
        }
        return factory;
    }
    
    public static RedisService getRedisService(){
        if (redisService == null){
            redisService = (RedisService) getFactory().getBean("redisService");
        }        
        return redisService;
    }

}

4. 查询功能的实现

@SuppressWarnings("serial")
public class RClasQueryAction extends ActionSupport {
    
    RedisService rs = RedisTool.getRedisService();
    List claslist = new ArrayList();
    Clas c;
    
    public String execute(){
        if (rs != null){
            System.out.println("RedisService : " + rs);
            getAllClas();
        }
        ServletActionContext.getRequest().setAttribute("claslist", claslist);
        return SUCCESS;
    }
    
    private void getAllClas(){
        claslist = new ArrayList();        
        int num = Integer.parseInt(rs.get("clas:count"));
        for (int i=0; i<num; i++){="" string="" cid="clas:" +="" (i+1);="" c="new" clas();="" int="" id="Integer.parseInt(String.valueOf(rs.getHash(cid," "id")));="" c.setid(id);="" system.out.println("id:"="" id);="" name="(String)" rs.gethash(cid,="" "name");="" c.setname(name);="" system.out.println("name:"="" name);="" comment="(String)" "comment");="" c.setcomment(comment);="" system.out.println("comment:"="" comment);="" claslist.add(c);="" }="" }

5. Redis数据库

: http://www.linuxidc.com/Linux/2017-01/139354p2.htm