zoukankan      html  css  js  c++  java
  • redisUtil

    package com.cinc.ecmp.utils;
    
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.stereotype.Component;
    
    import java.io.Serializable;
    import java.util.List;
    import java.util.Set;
    import java.util.concurrent.TimeUnit;
    /**
     * @Author: 
     * @Despriction: 缓存类
     * @CreatedTime: 2019/6/5 11:06
     * @ModifyBy:
     * @ModifyTime:
     * @ModifyDespriction:
     * @Version: V1.0.0
     */
    
    @Component
    public class RedisUtil {
        @Autowired
        private StringRedisTemplate redisTemplate;
        @Autowired
    	private RedisTemplate<String, Serializable> redisObjectTemplate;
        private static final String CAPTCHA_KEY="shuttle:capthcha";
        
        private static final String PREFIX="zhugy:";
    
        private String inboxKey(String key) {
            return PREFIX + key;
        }
    
        public void set(String key, Object object) {
            String json = JsonUtil.objectToJsonStr(object);
            redisTemplate.boundValueOps(inboxKey(key)).set(json);
        }
    
        public void set(String key, Object object, long timeout, TimeUnit timeUnit) {
            String json = JsonUtil.objectToJsonStr(object);
            redisTemplate.boundValueOps(inboxKey(key)).set(json, timeout, timeUnit);
        }
    
        public void delete(String key) {
            redisTemplate.delete(inboxKey(key));
        }
    
        public void deleteKeys(String keyPattern) {
            Set<String> keys = redisTemplate.keys(keyPattern);
            redisTemplate.delete(keys);
        }
    
        public <T> T get(String key, Class<T> clazz) {
            if (redisTemplate.hasKey(inboxKey(key))) {
                String value = redisTemplate.boundValueOps(inboxKey(key)).get();
                return JsonUtil.jsonStrToOject(value, clazz);
            } else {
                return null;
            }
        }
    
        public <T> List<T> getList(String key, Class<T> clazz) {
            if (redisTemplate.hasKey(inboxKey(key))) {
                String value = redisTemplate.boundValueOps(inboxKey(key)).get();
                return JsonUtil.jsonToList(value, clazz);
            } else {
                return null;
            }
        }
        public void setCaptcha(String key, Serializable object, long timeout, TimeUnit timeUnit) {
        	redisObjectTemplate.opsForHash().put(CAPTCHA_KEY, key, object);
    //    	redisObjectTemplate.opsForHash().put(key, object, timeout, timeUnit);
        }
        
        public Object getCaptcha(String key) {
        	return redisObjectTemplate.opsForHash().get(CAPTCHA_KEY,key);
        }
        
        public boolean hasKey(String key) {
        	return redisObjectTemplate.opsForHash().hasKey(CAPTCHA_KEY,key);
        }
        
        public void deleteKey(String key) {
        	redisObjectTemplate.opsForHash().delete(CAPTCHA_KEY,key);
        }
        
        public Set<Object> getKeys() {
        	return redisObjectTemplate.opsForHash().keys(CAPTCHA_KEY);
        }
        
        public int getSize() {
        	return Math.toIntExact(redisObjectTemplate.opsForHash().size(CAPTCHA_KEY));
        }
    }
    

      

  • 相关阅读:
    Container(容器)
    version ctrl
    url和uri的区别
    Injector
    build tool
    变量
    python中break和continue的区别
    同步代码块以及同步方法之间的区别以及联系
    写在前面
    WebService入门
  • 原文地址:https://www.cnblogs.com/HHR-SUN/p/11361943.html
Copyright © 2011-2022 走看看