| | |
| | | package com.vincent.rsf.common.utils; |
| | | |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import redis.clients.jedis.Jedis; |
| | | import redis.clients.jedis.JedisPool; |
| | | import redis.clients.jedis.JedisPoolConfig; |
| | |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * 缓存支持 |
| | | * redis tools |
| | | * Created by vincent on 2023-03-13 |
| | | */ |
| | | @Slf4j |
| | | public class RedisSupport { |
| | | |
| | | private static final Map<String, RedisSupport> redis = new HashMap<>(); |
| | | private static final Map<String, RedisSupport> REDIS_CACHE = new HashMap<>(); |
| | | |
| | | public static final String defaultRedisFlag = "redis"; |
| | | public static final String DEFAULT_FLAG = "redis"; |
| | | |
| | | public static RedisSupport defaultRedisSupport = RedisSupport.getRedis(defaultRedisFlag); |
| | | private static final String LINK = "."; |
| | | |
| | | public synchronized static RedisSupport getRedis(String name){ |
| | | RedisSupport redisSupport = redis.get(name); |
| | | if(redisSupport!=null) { |
| | | return redisSupport; |
| | | } |
| | | redisSupport = new RedisSupport(name); |
| | | redis.put(name, redisSupport); |
| | | return redisSupport; |
| | | } |
| | | public static RedisSupport defaultRedisSupport = RedisSupport.getRedis(DEFAULT_FLAG); |
| | | |
| | | protected JedisPool pool; |
| | | |
| | |
| | | |
| | | public Boolean initialize = false; |
| | | |
| | | public synchronized static RedisSupport getRedis(String name){ |
| | | RedisSupport redisSupport = REDIS_CACHE.get(name); |
| | | if (null == redisSupport){ |
| | | redisSupport = new RedisSupport(name); |
| | | REDIS_CACHE.put(name, redisSupport); |
| | | } |
| | | return redisSupport; |
| | | } |
| | | |
| | | private RedisSupport(String name) { |
| | | try { |
| | | boolean bAll = true; |
| | | String[] configKeys={"host","port","max","min","timeout","index"}; |
| | | for(String key:configKeys){ |
| | | if(!ConfigHelper.contains(name+"."+key)){ |
| | | System.err.println(); |
| | | for(String key : configKeys){ |
| | | if(!ConfigHelper.contains(name + "." + key)){ |
| | | bAll = false; |
| | | } |
| | | } |
| | | if(bAll){ |
| | | if (bAll) { |
| | | config = new JedisPoolConfig(); |
| | | config.setMaxIdle(ConfigHelper.getInteger(name+".min")); |
| | | config.setMaxWaitMillis(ConfigHelper.getLong(name+".timeout")); |
| | | //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; |
| | | // 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; |
| | | config.setTestOnBorrow(false); |
| | | //当前jedis连接的库号 |
| | | // 当前jedis连接的库号 |
| | | index = ConfigHelper.getInteger(name+".index"); |
| | | //实例化jedis池 |
| | | // 实例化jedis池 |
| | | String host = ConfigHelper.getString(name+".host"); |
| | | int port = ConfigHelper.getInteger(name+".port"); |
| | | int timeout = ConfigHelper.getInteger(name+".timeout"); |
| | | String password = ConfigHelper.getString(name+".password"); |
| | | JedisPool d ; |
| | | |
| | | pool = new JedisPool(config,host , port,timeout,password); |
| | | //初始化 |
| | | Jedis jedis = this.getJedis(); |
| | | this.pool.returnResource(jedis); |
| | | initialize = true; |
| | | }else{ |
| | | System.err.println("ERROR - 初始化Reids时出错,在配置文件中未找到"+name+".***属性(host,port,max,min,timeout,index)"); |
| | | } else { |
| | | log.error("ERROR - 初始化Reids时出错,在配置文件中未找到{}.***属性(host,port,max,min,timeout,index)", name); |
| | | } |
| | | }catch(Exception ex){ |
| | | ex.printStackTrace(); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | |
| | | public Jedis getJedis(){ |
| | | try{ |
| | | Jedis jedis = pool.getResource(); |
| | | if(this.index!=jedis.getDB().intValue()) |
| | | |
| | | if(this.index != jedis.getDB().intValue()) { |
| | | jedis.select(this.index); |
| | | } |
| | | return jedis; |
| | | }catch(Exception ex){ |
| | | System.err.println(ex.getMessage()); |
| | | } catch (Exception e){ |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | public void retJedis(Jedis jedis){ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | |
| | | |
| | | Date last_console_time = new Date(); |
| | | Boolean console = false; |
| | | public void console(Object...objects){ |
| | | if(!this.initialize)return; |
| | | if((new Date().getTime()-last_console_time.getTime())>(1000*30)){ |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | console = "true".equals(jedis.get("INI.console")); |
| | | }catch(Exception ex){ |
| | | System.err.println(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | last_console_time = new Date(); |
| | | } |
| | | if(!console)return; |
| | | StringBuilder strConsole = new StringBuilder("REDIS -"); |
| | | for(Object object:objects) { |
| | | strConsole.append(" ").append(object); |
| | | } |
| | | System.out.println(strConsole); |
| | | } |
| | | |
| | | |
| | | |
| | | public Object setMap(String name, String key, Object value) { |
| | | if(!this.initialize)return null; |
| | | console("set map value",name,key,value); |
| | | if(value==null){ |
| | | deleteMap(name,key); |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.hset(("MAP."+name).getBytes(),key.getBytes(), Serialize.serialize(value)); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return value; |
| | | } |
| | | public <T> T getMap(String name, String key) { |
| | | if(!this.initialize)return null; |
| | | console("get map value",name,key); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | byte[] bytes = jedis.hget(("MAP."+name).getBytes(),key.getBytes()); |
| | | if(bytes==null||bytes.length==0) |
| | | return null; |
| | | return (T) Serialize.unSerialize(bytes); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public Set<String> getMapKeys(String name) { |
| | | if(!this.initialize)return null; |
| | | console("get map keys",name); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | Set<String> keys = jedis.hkeys(("MAP."+name)); |
| | | return keys; |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public Long deleteMap(String name, String... key) { |
| | | if(!this.initialize)return null; |
| | | console("delete value",name,key); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String[] keys=new String[key.length]; |
| | | for(int i=0;i<key.length;i++){ |
| | | keys[i]=key[i]; |
| | | } |
| | | Long returnMap = jedis.hdel("MAP."+name, keys); |
| | | return returnMap; |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public Long clearMap(String name) { |
| | | if(!this.initialize)return null; |
| | | console("clear value",name); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.del("MAP."+name); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public void setMapExpire(String name,int seconds){ |
| | | if(!this.initialize)return; |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expire(("MAP."+name).getBytes(), seconds); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | } |
| | | public void setMapExpireTime(String name,Date atTime){ |
| | | if(!this.initialize)return; |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt(("MAP."+name).getBytes(), atTime.getTime()/1000); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 列表末尾添加元素 |
| | | * @param name |
| | | * @param value |
| | | * @return |
| | | */ |
| | | public Object push(String name, Object value) { |
| | | if(!this.initialize)return null; |
| | | console("push list value",name,value); |
| | | if(value==null){ |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.rpush(("LIST."+name).getBytes(),Serialize.serialize(value)); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return value; |
| | | } |
| | | /** |
| | | * 获取列表头部元素 |
| | | * @param <T> |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public <T> T pop(String name) { |
| | | if(!this.initialize)return null; |
| | | console("get list value",name); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | byte[] bytes = jedis.lpop(("LIST."+name).getBytes()); |
| | | if(bytes==null||bytes.length==0) |
| | | return null; |
| | | return (T) Serialize.unSerialize(bytes); |
| | | }catch(Exception ex){ |
| | | System.err.println(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public Long deleteList(String name) { |
| | | if(!this.initialize)return null; |
| | | console("delete list",name); |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.del("LIST."+name); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | return null; |
| | | } |
| | | public void setListExpire(String name,int seconds){ |
| | | if(!this.initialize)return; |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expire(("LIST."+name).getBytes(), seconds); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | } |
| | | public void setListExpireTime(String name,Date atTime){ |
| | | if(!this.initialize)return; |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt(("LIST."+name).getBytes(), atTime.getTime()/1000); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // key - value ---------------------------------------------------------------------------------------------------------- |
| | | |
| | | public String setValue(String flag, String key, String value) { |
| | | if(!this.initialize)return null; |
| | | console("set value",flag,key,value); |
| | | |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String result = jedis.set("KV."+flag+"."+key, value); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | return jedis.set(flag + LINK + key, value); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return value; |
| | | return null; |
| | | } |
| | | |
| | | public String setValue(String flag, String key, String value,Integer seconds) { |
| | | if(!this.initialize)return null; |
| | | console("set value",flag,key,value,seconds); |
| | | |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String result = jedis.setex("KV."+flag+"."+key,seconds,value); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | return jedis.setex(flag + LINK + key, seconds , value); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return value; |
| | | return null; |
| | | } |
| | | |
| | | public String getValue(String flag, String key) { |
| | | if(!this.initialize)return null; |
| | | console("get value",flag,key); |
| | | |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String returnValue = jedis.get("KV."+flag+"."+key); |
| | | return returnValue; |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | return jedis.get(flag + LINK + key); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public Long deleteValue(String flag, String... key) { |
| | | if(!this.initialize)return null; |
| | | console("delete value",flag,key); |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String[] keys=new String[key.length]; |
| | | String[] keys = new String[key.length]; |
| | | for(int i=0;i<key.length;i++){ |
| | | keys[i]="KV."+flag+"."+key[i]; |
| | | keys[i] = flag + LINK + key[i]; |
| | | } |
| | | Long returnValue = jedis.del(keys); |
| | | return returnValue; |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | return jedis.del(keys); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public Long clearValue(String flag) { |
| | | if(!this.initialize)return null; |
| | | console("clear value",flag); |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | |
| | | this.setValue(flag, "CLEARING", "true"); |
| | | Jedis jedis = this.getJedis(); |
| | | |
| | | try{ |
| | | //EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 KV.* |
| | | Object returnValue = jedis.eval("return redis.call('del', unpack(redis.call('keys', ARGV[1])))",0,"KV."+flag+"."+"*"); |
| | | Object returnValue = jedis.eval("return redis.call('del', unpack(redis.call('keys', ARGV[1])))",0,flag + LINK + "*"); |
| | | return Long.parseLong(String.valueOf(returnValue)); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public void setValueExpire(String flag, String key,int seconds){ |
| | | if(!this.initialize)return; |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expire(("KV."+flag+"."+key).getBytes(), seconds); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | jedis.expire((flag + LINK + key).getBytes(), seconds); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | public void setValueExpireTime(String flag, String key,Date atTime){ |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt((flag + LINK + key).getBytes(), atTime.getTime()/1000); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | |
| | | public void setValueExpireTime(String flag, String key,Date atTime){ |
| | | if(!this.initialize)return; |
| | | // hash ---------------------------------------------------------------------------------------------------------- |
| | | |
| | | public Long setMap(String name, String key, Object value) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | if(value == null){ |
| | | deleteMap(name,key); |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try { |
| | | return jedis.hset(name.getBytes(), key.getBytes(), Serialize.serialize(value)); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public <T> T getMap(String name, String key) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt(("KV."+flag+"."+key).getBytes(), atTime.getTime()/1000); |
| | | }catch(Exception ex){ |
| | | //Utils.trace(ex.getMessage()); |
| | | }finally{ |
| | | if(jedis!=null) |
| | | this.pool.returnResource(jedis); |
| | | byte[] bytes = jedis.hget(name.getBytes(), key.getBytes()); |
| | | if (bytes == null || bytes.length == 0) { |
| | | return null; |
| | | } |
| | | return (T) Serialize.unSerialize(bytes); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public Set<String> getMapKeys(String name) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.hkeys(name); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public Long deleteMap(String name, String... key) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | String[] keys = new String[key.length]; |
| | | System.arraycopy(key, 0, keys, 0, key.length); |
| | | return jedis.hdel(name, keys); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public Long clearMap(String name) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.del(name); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public void setMapExpire(String name,int seconds){ |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expire(name.getBytes(), seconds); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | public void setMapExpireTime(String name,Date atTime){ |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt(name.getBytes(), atTime.getTime()/1000); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | |
| | | // mq ---------------------------------------------------------------------------------------------------------- |
| | | |
| | | // 列表末尾添加元素 |
| | | public Long push(String name, Object value) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | if(value == null){ |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.rpush(name.getBytes(), Serialize.serialize(value)); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // 获取列表头部元素 && 删除 |
| | | public <T> T pop(String name) { |
| | | if(!this.initialize){ |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | byte[] bytes = jedis.lpop(name.getBytes()); |
| | | if(bytes == null || bytes.length == 0) { |
| | | return null; |
| | | } |
| | | return (T) Serialize.unSerialize(bytes); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // 删除 |
| | | public Long deleteList(String name) { |
| | | if(!this.initialize) { |
| | | return null; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | return jedis.del(name); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public void setListExpire(String name, int seconds){ |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expire(name.getBytes(), seconds); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | | public void setListExpireTime(String name, Date atTime){ |
| | | if(!this.initialize) { |
| | | return; |
| | | } |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | jedis.expireAt(name.getBytes(), atTime.getTime()/1000); |
| | | } catch (Exception e) { |
| | | log.error(this.getClass().getSimpleName(), e); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | public Object setObject(String flag,String key, Object value) { |
| | | if(!this.initialize)return null; |
| | | console("set object",flag,key,value); |
| | | |
| | | if(value==null){ |
| | | this.deleteObject(flag, key); |
| | |
| | | } |
| | | public Object setObject(String flag,String key, Object value,Integer seconds) { |
| | | if(!this.initialize)return null; |
| | | console("set object",flag,key,value,seconds); |
| | | |
| | | if(value==null){ |
| | | this.deleteObject(flag, key); |
| | |
| | | } |
| | | public <T> T getObject(String flag,String key) { |
| | | if(!this.initialize)return null; |
| | | console("get object",flag,key); |
| | | |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | | byte[] bytes = jedis.get(("OBJ."+flag+"."+key).getBytes()); |
| | |
| | | |
| | | public <T> Long deleteObject(String flag, String key) { |
| | | if(!this.initialize)return null; |
| | | console("delete object",flag,key); |
| | | |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |
| | |
| | | |
| | | public <T> Long clearObject(String flag) { |
| | | if(!this.initialize)return null; |
| | | console("clear object",flag); |
| | | |
| | | this.setObject(flag, "CLEARING", "true"); |
| | | Jedis jedis = this.getJedis(); |
| | |
| | | |
| | | public String[] getKeys(String pattern) { |
| | | if(!this.initialize)return null; |
| | | console("keys",pattern); |
| | | |
| | | Jedis jedis = this.getJedis(); |
| | | try{ |