代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
RedisUtil工具类
作者:
/ 发布于
2016/12/6
/
558
package com.test.util; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import javax.annotation.Resource; import com.ucf.platform.framework.core.log.UcfLogger; import com.ucf.platform.framework.core.log.UcfLoggerFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.ScanParams; import redis.clients.jedis.ScanResult; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool; /** * * @ClassName RedisUtil * @Description: redisUtil 工具类 * @author: GuXiYang * @date: 2016-11-28 下午4:48:37 * @see http://haiziwoainixx.iteye.com/blog/2087115 */ public class RedisUtil { private static final UcfLogger logger = UcfLoggerFactory.getLogger(RedisUtil.class); @Resource private ShardedJedisPool shardedJedisPool; /** * 设置一个key的过期时间(单位:秒) * @param key key值 * @param seconds 多少秒后过期 * @return 1:设置了过期时间 0:没有设置过期时间/不能设置过期时间 */ public long expire(String key, int seconds) { if (key==null || key.equals("")) { return 0; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.expire(key, seconds); } catch (Exception ex) { logger.error("EXPIRE error[key=" + key + " seconds=" + seconds + "]" + ex.getMessage(), ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } /** * 设置一个key在某个时间点过期 * @param key key值 * @param unixTimestamp unix时间戳,从1970-01-01 00:00:00开始到现在的秒数 * @return 1:设置了过期时间 0:没有设置过期时间/不能设置过期时间 */ public long expireAt(String key, int unixTimestamp) { if (key==null || key.equals("")) { return 0; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.expireAt(key, unixTimestamp); } catch (Exception ex) { logger.error("EXPIRE error[key=" + key + " unixTimestamp=" + unixTimestamp + "]" + ex.getMessage(), ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } /** * 截断一个List * @param key 列表key * @param start 开始位置 从0开始 * @param end 结束位置 * @return 状态码 */ public String trimList(String key, long start, long end) { if (key == null || key.equals("")) { return "-"; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.ltrim(key, start, end); } catch (Exception ex) { logger.error("LTRIM 出错[key=" + key + " start=" + start + " end=" + end + "]" + ex.getMessage() , ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return "-"; } /** * 检查Set长度 * @param key * @return */ public long countSet(String key){ if(key == null ){ return 0; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.scard(key); } catch (Exception ex) { logger.error("countSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } /** * 添加到Set中(同时设置过期时间) * @param key key值 * @param seconds 过期时间 单位s * @param value * @return */ public boolean addSet(String key,int seconds, String... value) { boolean result = addSet(key, value); if(result){ long i = expire(key, seconds); return i==1; } return false; } /** * 添加到Set中 * @param key * @param value * @return */ public boolean addSet(String key, String... value) { if(key == null || value == null){ return false; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.sadd(key, value); return true; } catch (Exception ex) { logger.error("setList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * @param key * @param value * @return 判断值是否包含在set中 */ public boolean containsInSet(String key, String value) { if(key == null || value == null){ return false; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.sismember(key, value); } catch (Exception ex) { logger.error("setList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 获取Set * @param key * @return */ public Set<String> getSet(String key){ ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.smembers(key); } catch (Exception ex) { logger.error("getList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 从set中删除value * @param key * @return */ public boolean removeSetValue(String key,String... value){ ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.srem(key, value); return true; } catch (Exception ex) { logger.error("getList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 从list中删除value 默认count 1 * @param key * @param values 值list * @return */ public int removeListValue(String key,List<String> values){ return removeListValue(key, 1, values); } /** * 从list中删除value * @param key * @param count * @param values 值list * @return */ public int removeListValue(String key,long count,List<String> values){ int result = 0; if(values != null && values.size()>0){ for(String value : values){ if(removeListValue(key, count, value)){ result++; } } } return result; } /** * 从list中删除value * @param key * @param count 要删除个数 * @param value * @return */ public boolean removeListValue(String key,long count,String value){ ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.lrem(key, count, value); return true; } catch (Exception ex) { logger.error("getList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 截取List * @param key * @param start 起始位置 * @param end 结束位置 * @return */ public List<String> rangeList(String key, long start, long end) { if (key == null || key.equals("")) { return null; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.lrange(key, start, end); } catch (Exception ex) { logger.error("rangeList 出错[key=" + key + " start=" + start + " end=" + end + "]" + ex.getMessage() , ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 检查List长度 * @param key * @return */ public long countList(String key){ if(key == null ){ return 0; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.llen(key); } catch (Exception ex) { logger.error("countList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } /** * 添加到List中(同时设置过期时间) * @param key key值 * @param seconds 过期时间 单位s * @param value * @return */ public boolean addList(String key,int seconds, String... value){ boolean result = addList(key, value); if(result){ long i = expire(key, seconds); return i==1; } return false; } /** * 添加到List * @param key * @param value * @return */ public boolean addList(String key, String... value) { if(key == null || value == null){ return false; } ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.lpush(key, value); return true; } catch (Exception ex) { logger.error("setList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 添加到List(只新增) * @param key * @param value * @return */ public boolean addList(String key, List<String> list) { if(key == null || list == null || list.size() == 0){ return false; } for(String value : list){ addList(key, value); } return true; } /** * 获取List * @param key * @return */ public List<String> getList(String key){ ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.lrange(key, 0, -1); } catch (Exception ex) { logger.error("getList error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 设置HashSet对象 * * @param domain 域名 * @param key 键值 * @param value Json String or String value * @return */ public boolean setHSet(String domain, String key, String value) { if (value == null) return false; ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.hset(domain, key, value); return true; } catch (Exception ex) { logger.error("setHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 获得HashSet对象 * * @param domain 域名 * @param key 键值 * @return Json String or String value */ public String getHSet(String domain, String key) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.hget(domain, key); } catch (Exception ex) { logger.error("getHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 删除HashSet对象 * * @param domain 域名 * @param key 键值 * @return 删除的记录数 */ public long delHSet(String domain, String key) { ShardedJedis shardedJedis = null; long count = 0; try { shardedJedis = shardedJedisPool.getResource(); count = shardedJedis.hdel(domain, key); } catch (Exception ex) { logger.error("delHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return count; } /** * 删除HashSet对象 * * @param domain 域名 * @param key 键值 * @return 删除的记录数 */ public long delHSet(String domain, String... key) { ShardedJedis shardedJedis = null; long count = 0; try { shardedJedis = shardedJedisPool.getResource(); count = shardedJedis.hdel(domain, key); } catch (Exception ex) { logger.error("delHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return count; } /** * 判断key是否存在 * * @param domain 域名 * @param key 键值 * @return */ public boolean existsHSet(String domain, String key) { ShardedJedis shardedJedis = null; boolean isExist = false; try { shardedJedis = shardedJedisPool.getResource(); isExist = shardedJedis.hexists(domain, key); } catch (Exception ex) { logger.error("existsHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return isExist; } /** * 全局扫描hset * * @param match field匹配模式 * @return */ public List<Map.Entry<String, String>> scanHSet(String domain, String match) { ShardedJedis shardedJedis = null; try { int cursor = 0; shardedJedis = shardedJedisPool.getResource(); ScanParams scanParams = new ScanParams(); scanParams.match(match); Jedis jedis = shardedJedis.getShard(domain); ScanResult<Map.Entry<String, String>> scanResult; List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(); do { scanResult = jedis.hscan(domain, String.valueOf(cursor), scanParams); list.addAll(scanResult.getResult()); cursor = Integer.parseInt(scanResult.getStringCursor()); } while (cursor > 0); return list; } catch (Exception ex) { logger.error("scanHSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 返回 domain 指定的哈希集中所有字段的value值 * * @param domain * @return */ public List<String> hvals(String domain) { ShardedJedis shardedJedis = null; List<String> retList = null; try { shardedJedis = shardedJedisPool.getResource(); retList = shardedJedis.hvals(domain); } catch (Exception ex) { logger.error("hvals error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return retList; } /** * 返回 domain 指定的哈希集中所有字段的key值 * * @param domain * @return */ public Set<String> hkeys(String domain) { ShardedJedis shardedJedis = null; Set<String> retList = null; try { shardedJedis = shardedJedisPool.getResource(); retList = shardedJedis.hkeys(domain); } catch (Exception ex) { logger.error("hkeys error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return retList; } /** * 返回 domain 指定的哈希key值总数 * * @param domain * @return */ public long lenHset(String domain) { ShardedJedis shardedJedis = null; long retList = 0; try { shardedJedis = shardedJedisPool.getResource(); retList = shardedJedis.hlen(domain); } catch (Exception ex) { logger.error("hkeys error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return retList; } /** * 设置排序集合 * * @param key * @param score * @param value * @return */ public boolean setSortedSet(String key, long score, String value) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.zadd(key, score, value); return true; } catch (Exception ex) { logger.error("setSortedSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 获得排序集合 * * @param key * @param startScore * @param endScore * @param orderByDesc * @return */ public Set<String> getSoredSet(String key, long startScore, long endScore, boolean orderByDesc) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); if (orderByDesc) { return shardedJedis.zrevrangeByScore(key, endScore, startScore); } else { return shardedJedis.zrangeByScore(key, startScore, endScore); } } catch (Exception ex) { logger.error("getSoredSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 计算排序长度 * * @param key * @param startScore * @param endScore * @return */ public long countSoredSet(String key, long startScore, long endScore) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); Long count = shardedJedis.zcount(key, startScore, endScore); return count == null ? 0L : count; } catch (Exception ex) { logger.error("countSoredSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0L; } /** * 删除排序集合 * * @param key * @param value * @return */ public boolean delSortedSet(String key, String value) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); long count = shardedJedis.zrem(key, value); return count > 0; } catch (Exception ex) { logger.error("delSortedSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } /** * 获得排序集合 * * @param key * @param startRange * @param endRange * @param orderByDesc * @return */ public Set<String> getSoredSetByRange(String key, int startRange, int endRange, boolean orderByDesc) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); if (orderByDesc) { return shardedJedis.zrevrange(key, startRange, endRange); } else { return shardedJedis.zrange(key, startRange, endRange); } } catch (Exception ex) { logger.error("getSoredSetByRange error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } /** * 获得排序打分 * * @param key * @return */ public Double getScore(String key, String member) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.zscore(key, member); } catch (Exception ex) { logger.error("getSoredSet error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return null; } public boolean set(String key, String value, int second) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.setex(key, second, value); return true; } catch (Exception ex) { logger.error("set error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } public boolean set(String key, String value) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.set(key, value); return true; } catch (Exception ex) { logger.error("set error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } public String get(String key, String defaultValue) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.get(key) == null?defaultValue:shardedJedis.get(key); } catch (Exception ex) { logger.error("get error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return defaultValue; } public boolean del(String key) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); shardedJedis.del(key); return true; } catch (Exception ex) { logger.error("del error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return false; } public long incr(String key) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.incr(key); } catch (Exception ex) { logger.error("incr error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } public long decr(String key) { ShardedJedis shardedJedis = null; try { shardedJedis = shardedJedisPool.getResource(); return shardedJedis.decr(key); } catch (Exception ex) { logger.error("incr error.", ex); returnBrokenResource(shardedJedis); } finally { returnResource(shardedJedis); } return 0; } private void returnBrokenResource(ShardedJedis shardedJedis) { try { shardedJedisPool.returnBrokenResource(shardedJedis); } catch (Exception e) { logger.error("returnBrokenResource error.", e); } } private void returnResource(ShardedJedis shardedJedis) { try { shardedJedisPool.returnResource(shardedJedis); } catch (Exception e) { logger.error("returnResource error.", e); } } }
试试其它关键字
RedisUtil工具类
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3