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));
    }
}

  

原文地址:https://www.cnblogs.com/HHR-SUN/p/11361943.html