SprinBoot Redis工具类 + 序(反)列化 + jdk1.8 LocalDateTime Redis序列化

Redis工具类

集成springboot依赖

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-redisartifactId>
        dependency>
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;

/**
 * 

* redis工具类 *

* @author D * @version 1.0 * @date 2020/6/6 14:18 */
@Component public class RedisUtil { @Resource private RedisTemplate<String, Object> redisTemplate; /** * 指定缓存失效时间 * @param key 键 * @param time 时间(秒) */ public boolean expire(String key, long time) { try { if (time > 0) { redisTemplate.expire(key, time, TimeUnit.SECONDS); } return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 指定缓存失效时间 * @param key 键 * @param time 时间 * @param unit 存入的时间 TimeUnit.SECONDS TimeUnit.HOURS .... */ public boolean expire(String key, long time, TimeUnit unit) { try { if (time > 0) { redisTemplate.expire(key, time, unit); } return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 根据key 获取过期时间 * @param key 键 不能为null * @return 时间(秒) 返回 -1 代表为永久有效.-2 表示key不存在 或者 NPE(空指针异常) */ public long getExpire(String key) { Long time = redisTemplate.getExpire(key, TimeUnit.SECONDS); if(time == null) { return -2; }else { return time; } } /** * 判断key是否存在 * @param key 键 * @return true 存在 false不存在 */ public boolean hasKey(String key) { try { Boolean exist = redisTemplate.hasKey(key); if(exist == null) { return false; }else { return exist; } } catch (Exception e) { e.printStackTrace(); return false; } } /** * 删除缓存 * @param key 可以传一个值 或多个 */ public void del(String... key) { if (key != null && key.length > 0) { if (key.length == 1) { redisTemplate.delete(key[0]); } else { redisTemplate.delete(new ArrayList<>(Arrays.asList(key))); } } } /** * 普通缓存获取 * @param key 键 * @return 值 */ public Object get(String key) { return key == null ? null : redisTemplate.opsForValue().get(key); } /** * 普通缓存放入 * @param key 键 * @param value 值 * @return true成功 false失败 */ public boolean set(String key, Object value) { try { redisTemplate.opsForValue().set(key, value); return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 普通缓存放入并设置时间 * @param key 键 * @param value 值 * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 * @return true成功 false 失败 */ public boolean set(String key, Object value, long time) { try { if (time > 0) { redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); } else { set(key, value); } return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 普通缓存放入并设置时间 * @param key 键 * @param value 值 * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 * @param unit 存入的时间单位 * @return true成功 false 失败 */ public boolean set(String key, Object value<

你可能感兴趣的:(redis,java,缓存)