package com.highdatas.mdm.util; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @Component public class RedisClient { long timeout = 30 * 60; private RedisClient() { } public boolean putRedisVal(String key, String value, long timeout) { try { RedisUtil.set(getRealRedisKey(key), value, timeout); } catch (Exception e) { return false; } return true; } public boolean putRedisVal(String key, String value) { try { if (value == null || StringUtils.isEmpty(value)) { return true; } RedisUtil.set(getRealRedisKey(key), value, timeout); return true; } catch (Exception e){ e.printStackTrace(); return false; } } public boolean putRedisValObj(String key, Object value) { try { if (value == null || StringUtils.isEmpty(value.toString())) { return true; } RedisUtil.set(getRealRedisKey(key), value, timeout); return true; } catch (Exception e){ e.printStackTrace(); return false; } } public String getRedisTimeOutVal(String key) { try{ Object o = RedisUtil.get(getRealRedisKey(key)); if (o == null) { return null; } else { return o.toString(); } } catch (Exception e) { e.printStackTrace(); return null; } } public String getRedisVal(String key) { try { Object o = RedisUtil.get(getRealRedisKey(key)); if (o == null) { return null; } else { RedisUtil.expire(getRealRedisKey(key), timeout, TimeUnit.MINUTES); return o.toString(); } } catch (Exception e) { e.printStackTrace(); return null; } } public Object getRedisValObj(String key) { try { Object o = RedisUtil.get(getRealRedisKey(key)); if (o == null) { return null; } else { RedisUtil.expire(getRealRedisKey(key), timeout, TimeUnit.MINUTES); return o; } } catch (Exception e) { e.printStackTrace(); return null; } } public boolean deleteRedisVal(String key) { try { boolean del = RedisUtil.del(getRealRedisKey(key)); return del; } catch (Exception e){ e.printStackTrace(); return false; } } public boolean putRedisList(String key, List values) { try { if (values == null || values.isEmpty()) { return true; } RedisUtil.lPushAll(getRealRedisKey(key),values); RedisUtil.expire(getRealRedisKey(key), timeout, TimeUnit.MINUTES); return true; } catch (Exception e) { e.printStackTrace(); return false; } } public List getRedisList(String key) { try { List objects = RedisUtil.lGet(getRealRedisKey(key), 0, -1); if (objects == null || objects.isEmpty()) { return null; } else { RedisUtil.expire(getRealRedisKey(key), timeout, TimeUnit.MINUTES); return objects; } } catch (Exception e) { e.printStackTrace(); return null; } } public static String getRealRedisKey(String key) { String s = DbUtils.StrJoinLink(Constant.UnderLine, Constant.MainData, key); return s; } public void delByCharacter(String characterId) { String realRedisKey = getRealRedisKey(characterId); Set keys = RedisUtil.getKeys(realRedisKey); if (keys != null && !keys.isEmpty()) { RedisUtil.del(keys); } } public void delByField() { Set keys = RedisUtil.getKeys("*field"); RedisUtil.del(keys); } }