From 64f9daf8e4496e3fc949deae330ede28a3138cd2 Mon Sep 17 00:00:00 2001 From: khalil <842328916@qq.com> Date: Mon, 15 Sep 2025 15:22:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2Jedis-=E4=BD=BF=E7=94=A8Redis?= =?UTF-8?q?sonClient=E7=9A=84StringCodec=E7=BC=96=E8=A7=A3=E7=A0=81?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accompany/common/redis/RedisScript.java | 21 - .../core/service/common/JedisService.java | 935 ++++-------------- .../service/user/PrivatePhotoService.java | 2 +- 3 files changed, 209 insertions(+), 749 deletions(-) delete mode 100644 accompany-base/accompany-core/src/main/java/com/accompany/common/redis/RedisScript.java diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/common/redis/RedisScript.java b/accompany-base/accompany-core/src/main/java/com/accompany/common/redis/RedisScript.java deleted file mode 100644 index c96229f5f..000000000 --- a/accompany-base/accompany-core/src/main/java/com/accompany/common/redis/RedisScript.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.accompany.common.redis; - -public class RedisScript { - - //params 红包map的key 红包索引的 key 领取者的key uid 红包id 到期时间 - //返回状态 -1 已经领取 -2过期 - public static final String RECIVE_RED_PACKET = "local uid = ARGV[1] " + "local reId = ARGV[2] " - + "local indexKey = KEYS[1] " + "local mapKey = KEYS[2] " + "local reciveKey = KEYS[3] " - + "local expire = ARGV[3] " + " " + "local hasRecive = redis.call('get',reciveKey) " - + "if hasRecive == false or hasRecive == nil then " - + " local redIndex = redis.call('rpop',indexKey) " + " " - + " if redIndex== false or redIndex == nil then " + " return -2 " + " else " - + " local value = redis.call('hget',mapKey,redIndex) " - + " if value == false or value == nil then " + " return -2 " + " end " - + " redis.call('hdel',mapKey,redIndex) " + " redis.call('set',reciveKey,uid) " - + " redis.call('expireat',reciveKey,expire) " + " return value " + " end " - + "else " + " return -1 " + "end "; - - public static final int RECIVE_RED_PACKET_KEY_COUNT = 3; - -} diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/core/service/common/JedisService.java b/accompany-base/accompany-core/src/main/java/com/accompany/core/service/common/JedisService.java index bb352b883..899390650 100644 --- a/accompany-base/accompany-core/src/main/java/com/accompany/core/service/common/JedisService.java +++ b/accompany-base/accompany-core/src/main/java/com/accompany/core/service/common/JedisService.java @@ -5,6 +5,7 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import org.redisson.api.*; +import org.redisson.client.codec.StringCodec; import org.redisson.client.protocol.ScoredEntry; import org.redisson.codec.JsonJacksonCodec; import org.springframework.stereotype.Service; @@ -43,23 +44,14 @@ public class JedisService { } public void setex(String key, int seconds, String value) { - try { - RBucket bucket = redissonClient.getBucket(key); - bucket.set(value, seconds, TimeUnit.SECONDS); - } catch (Exception e) { - log.error("setex from redisson error. key:{} value:{}", key, value, e); - } + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + bucket.set(value, seconds, TimeUnit.SECONDS); } public boolean setnx(String key, String value, Integer expireSeconds) { - try { - RBucket bucket = redissonClient.getBucket(key); - boolean result = bucket.trySet(value, expireSeconds, TimeUnit.SECONDS); - return result; - } catch (Exception e) { - log.error("setnx from redisson error. key:{} value:{}", key, value, e); - } - return false; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + boolean result = bucket.trySet(value, expireSeconds, TimeUnit.SECONDS); + return result; } /** @@ -69,260 +61,107 @@ public class JedisService { * @param content 数据 */ public void set(String key, String content) { - try { - RBucket bucket = redissonClient.getBucket(key); - bucket.set(content); - } catch (Exception e) { - log.error("set to redisson error. key:{} data:{} msg:{}", key, content, e); - } + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + bucket.set(content); } public void set(String key, String content, int expireSeconds) { - try { - RBucket bucket = redissonClient.getBucket(key); - if (expireSeconds >= 0) { - bucket.set(content, expireSeconds, TimeUnit.SECONDS); - } else { - bucket.set(content); - } - } catch (Exception e) { - log.error("set to redisson error. key:{} data:{} msg:{}", key, content, e); + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + if (expireSeconds >= 0) { + bucket.set(content, expireSeconds, TimeUnit.SECONDS); + } else { + bucket.set(content); } } public void del(String key) { - try { - redissonClient.getBucket(key).delete(); - } catch (Exception e) { - log.error("delete from redisson error. key:{}", key, e); - } + redissonClient.getBucket(key, StringCodec.INSTANCE).delete(); } public String get(String key) { - try { - RBucket bucket = redissonClient.getBucket(key); - return bucket.get(); - } catch (Exception e) { - log.error("get from redisson error. key:{}", key, e); - } - return null; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return bucket.get(); } public String read(String key) { - try { - RBucket bucket = redissonClient.getBucket(key); - return bucket.get(); - } catch (Exception e) { - log.error("read from redisson error. key:{}", key, e); - } - return null; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return bucket.get(); } public Long incr(String key) { - try { - RAtomicLong atomicLong = redissonClient.getAtomicLong(key); - return atomicLong.incrementAndGet(); - } catch (Exception e) { - log.error("incr from redisson error. key:{}", key, e); - } - return null; + RAtomicLong atomicLong = redissonClient.getAtomicLong(key); + return atomicLong.incrementAndGet(); } public Long incrBy(String key, long inet) { - try { - RAtomicLong atomicLong = redissonClient.getAtomicLong(key); - return atomicLong.addAndGet(inet); - } catch (Exception e) { - log.error("incrBy from redisson error. key:{} inet:{}", key, inet, e); - } - return null; - } - - public Double incrByFloat(String key, double inet) { - try { - RAtomicDouble atomicDouble = redissonClient.getAtomicDouble(key); - return atomicDouble.addAndGet(inet); - } catch (Exception e) { - log.error("incrByFloat from redisson error. key:{} inet:{}", key, inet, e); - } - return null; - } - - public Long decr(String key) { - try { - RAtomicLong atomicLong = redissonClient.getAtomicLong(key); - return atomicLong.decrementAndGet(); - } catch (Exception e) { - log.error("decr from redisson error. key:{}", key, e); - } - return null; + RAtomicLong atomicLong = redissonClient.getAtomicLong(key); + return atomicLong.addAndGet(inet); } public Long decrBy(String key, long inet) { - try { - RAtomicLong atomicLong = redissonClient.getAtomicLong(key); - return atomicLong.addAndGet(-inet); - } catch (Exception e) { - log.error("decrBy from redisson error. key:{} inet:{}", key, inet, e); - } - return null; + RAtomicLong atomicLong = redissonClient.getAtomicLong(key); + return atomicLong.addAndGet(-inet); } public void lpush(String key, String value) { - try { - RList list = redissonClient.getList(key); - list.add(0, value); - } catch (Exception e) { - log.error("lpush from redisson error. key:{} value:{}", key, value, e); - } + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + list.add(0, value); } public String lpop(String key) { - try { - RList list = redissonClient.getList(key); - if (!list.isEmpty()) { - return list.remove(0); - } - } catch (Exception e) { - log.error("lpop from redisson error. key:{}", key, e); + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + if (!list.isEmpty()) { + return list.remove(0); } return null; } - public String lindex(String key, Integer index) { - try { - RList list = redissonClient.getList(key); - if (index < list.size()) { - return list.get(index); - } - } catch (Exception e) { - log.error("lindex from redisson error. key:{} index:{}", key, index, e); - } - return null; - } - - public void rpush(String key, String value) { - try { - RList list = redissonClient.getList(key); - list.add(value); - } catch (Exception e) { - log.error("rpush from redisson error. key:{} value:{}", key, value, e); - } - } - public Long llen(String key) { - try { - RList list = redissonClient.getList(key); - return (long) list.size(); - } catch (Exception e) { - log.error("llen from redisson error. key:{}", key, e); - } - return null; + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + return (long) list.size(); } public List lrange(String key, long begin, long end) { - try { - RList list = redissonClient.getList(key); - int size = list.size(); - int from = (int) Math.max(0, begin); - int to = (int) Math.min(end, size - 1); - if (from <= to) { - return list.subList(from, to + 1); - } - } catch (Exception e) { - log.error("lrange from redisson error. key:{} begin:{} end:{}", key, begin, end, e); + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + int size = list.size(); + int from = (int) Math.max(0, begin); + int to = (int) Math.min(end, size - 1); + if (from <= to) { + return list.subList(from, to + 1); } return new ArrayList<>(); } - public Long lrem(String key, long count, String value) { - try { - RList list = redissonClient.getList(key); - long removed = 0L; - if (count > 0) { - // 从头开始删除count个 - for (int i = 0; i < Math.min(count, list.size()); i++) { - if (list.get(i).equals(value)) { - list.remove(i); - removed++; - i--; // 因为删除后索引会变化 - count--; - if (count <= 0) break; - } - } - } else if (count < 0) { - // 从尾开始删除|count|个 - for (int i = list.size() - 1; i >= 0 && count < 0; i--) { - if (list.get(i).equals(value)) { - list.remove(i); - removed++; - count++; - } - } - } else { - // 删除所有 - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - if (iterator.next().equals(value)) { - iterator.remove(); - removed++; - } - } - } - return removed; - } catch (Exception e) { - log.error("lrem from redisson error. key:{} count:{} value:{}", key, count, value, e); - } - return 0L; - } - public void ltrim(String key, long start, long end) { - try { - RList list = redissonClient.getList(key); - int size = list.size(); - int from = (int) Math.max(0, start); - int to = (int) Math.min(end, size - 1); - if (from <= to) { - List subList = new ArrayList<>(list.subList(from, to + 1)); - list.clear(); - list.addAll(subList); - } else { - list.clear(); - } - } catch (Exception e) { - log.error("ltrim from redisson error. key:{} start:{} end:{}", key, start, end, e); + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + int size = list.size(); + int from = (int) Math.max(0, start); + int to = (int) Math.min(end, size - 1); + if (from <= to) { + List subList = new ArrayList<>(list.subList(from, to + 1)); + list.clear(); + list.addAll(subList); + } else { + list.clear(); } } public String rpop(String key) { - try { - RList list = redissonClient.getList(key); - if (!list.isEmpty()) { - return list.remove(list.size() - 1); - } - } catch (Exception e) { - log.error("rpop from redisson error. key:{}", key, e); + RList list = redissonClient.getList(key, StringCodec.INSTANCE); + if (!list.isEmpty()) { + return list.remove(list.size() - 1); } return null; } public String hget(String key, String field) { - try { - RMap map = redissonClient.getMap(key); - return map.get(field); - } catch (Exception e) { - log.error("hget from redisson error. key:{} field:{}", key, field, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.get(field); } public void hset(String key, String field, String value) { - try { - RMap map = redissonClient.getMap(key); - map.put(field, value); - } catch (Exception e) { - log.error("hset from redisson error. key:{} field:{} value:{}", key, field, value, e); - } + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.put(field, value); } /** @@ -338,105 +177,59 @@ public class JedisService { * 如果给定域已经存在且没有操作被执行,返回0。 */ public Long hsetnx(String key, String field, String value) { - try { - RMap map = redissonClient.getMap(key); - boolean result = map.fastPutIfAbsent(field, value); - return result ? 1L : 0L; - } catch (Exception e) { - log.error("hsetnx from redisson error. key:{} field:{} value:{}", key, field, value, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + boolean result = map.fastPutIfAbsent(field, value); + return result ? 1L : 0L; } public Boolean hexists(String key, String field) { - try { - RMap map = redissonClient.getMap(key); - return map.containsKey(field); - } catch (Exception e) { - log.error("hexists from redisson error. key:{} field:{}", key, field, e); - } - return false; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.containsKey(field); } public List hmread(String key, String... field) { - try { - RMap map = redissonClient.getMap(key); - List result = new ArrayList<>(); - for (String f : field) { - result.add(map.get(f)); - } - return result; - } catch (Exception e) { - log.error("hmread from redisson error. key:{} field:{}", key, field, e); + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + List result = new ArrayList<>(); + for (String f : field) { + result.add(map.get(f)); } - return null; + return result; } public Map hgetAll(String key) { - try { - RMap map = redissonClient.getMap(key); - return map.readAllMap(); - } catch (Exception e) { - log.error("hgetAll from redisson error. key:{}", key, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.readAllMap(); } public Set hgetAllKeysByKey(String key) { - try { - RMap map = redissonClient.getMap(key); - return map.readAllKeySet(); - } catch (Exception e) { - log.error("hgetAllKeysByKey from redisson error. key:{}", key, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.readAllKeySet(); } public Map hgetAllBykey(String key) { - try { - RMap map = redissonClient.getMap(key); - return map.readAllMap(); - } catch (Exception e) { - log.error("hgetAllBykey from redisson error. key:{}", key, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.readAllMap(); } public void hwrite(String key, String field, String value) { - try { - RMap map = redissonClient.getMap(key); - map.put(field, value); - } catch (Exception e) { - log.error("hwrite from redisson error. key:{} field:{} value:{}", key, field, value, e); - } + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.put(field, value); } - public void hdelete(String key, String field, String value) { - try { - RMap map = redissonClient.getMap(key); - map.remove(field); - } catch (Exception e) { - log.error("hdelete from redisson error. key:{} field:{} value:{}", key, field, value, e); - } + public void hdelete(String key, String field) { + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.remove(field); } public void hdel(String key, String field) { - try { - RMap map = redissonClient.getMap(key); - map.remove(field); - } catch (Exception e) { - log.error("hdel from redisson error. key:{} field:{}", key, field, e); - } + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.remove(field); } public void hdel(String key, String... fields) { - try { - RMap map = redissonClient.getMap(key); - for (String field : fields) { - map.remove(field); - } - } catch (Exception e) { - log.error("hdel from redisson error. key:{} fields:{}", key, fields, e); + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + for (String field : fields) { + map.remove(field); } } @@ -445,186 +238,65 @@ public class JedisService { } public Long hincrBy(String key, String field, Long value) { - try { - RMap map = redissonClient.getMap(key, new JsonJacksonCodec()); - return map.addAndGet(field, value); - } catch (Exception e) { - log.error("hincrBy from redisson error. key:{} field:{} value:{}", key, field, value, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return map.addAndGet(field, value); } public void hdeleteKey(String key) { - try { - redissonClient.getBucket(key).delete(); - } catch (Exception e) { - log.error("hdeleteKey from redisson error. key:{}", key, e); - } + redissonClient.getBucket(key, StringCodec.INSTANCE).delete(); } public void hwrite(String key, Map value) { - try { - RMap map = redissonClient.getMap(key); - map.putAll(value); - } catch (Exception e) { - log.error("hwrite from redisson error. key:{} value:{}", key, value, e); - } - } - - /** - * hmset 添加多条数据 - * 删除key,重新设值,并且设置过期时间 - * @param key - * @param map - * @param saveDate 单位为秒 - */ - public void delAndHwriteAndExpire(String key, Map map, int saveDate) { - try { - RMap rmap = redissonClient.getMap(key); - rmap.delete(); - rmap.putAll(map); - rmap.expire(saveDate, TimeUnit.SECONDS); - } catch (Exception e) { - log.error("delAndHwriteAndExpire from redisson error. key:{} value:{} saveDate:{}", key, map, saveDate, e); - } - } - - public void disableCache(String key) { - try { - RBucket bucket = redissonClient.getBucket(key); - bucket.expire(0, TimeUnit.SECONDS); - } catch (Exception e) { - log.error("disableCache error. key:{} msg:{}", key, e); - } + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.putAll(value); } public void hincrbyfloat(String key, String property, double value) { - try { - RMap map = redissonClient.getMap(key, new JsonJacksonCodec()); - map.addAndGet(property, value); - } catch (Exception e) { - log.error("hincrbyfloat from redisson error. key:{} property:{} value:{}", key, property, value, e); - } + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + map.addAndGet(property, value); } public Integer ttl(String key) { - try { - RBucket bucket = redissonClient.getBucket(key); - return Math.toIntExact(bucket.remainTimeToLive()); - } catch (Exception e) { - log.error("ttl from redisson error. key:{}", key, e); - } - return null; - } - - public String lockWithTimeout(String locaName, long acquireTimeout, long timeout) { - String lockKey = "lock:" + locaName; - String identifier = UUID.randomUUID().toString(); - int lockExpire = (int) (timeout / 1000); - - try { - RLock lock = redissonClient.getLock(lockKey); - boolean acquired = lock.tryLock(acquireTimeout, lockExpire, TimeUnit.SECONDS); - if (acquired) { - return identifier; - } - } catch (Exception e) { - log.error("lockWithTimeout error. lockKey:{}", lockKey, e); - } - return null; - } - - /** - * 释放锁 - * - * @param lockName 锁的key - * @param identifier 释放锁的标识 - * @return - */ - public boolean releaseLock(String lockName, String identifier) { - String lockKey = "lock:" + lockName; - try { - RLock lock = redissonClient.getLock(lockKey); - if (lock.isHeldByCurrentThread()) { - lock.unlock(); - return true; - } - } catch (Exception e) { - log.error("releaseLock error. lockKey:{} identifier:{}", lockKey, identifier, e); - } - return false; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return Math.toIntExact(bucket.remainTimeToLive()); } public Double zincrby(String key, Double score, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Double currentScore = sortedSet.getScore(member); - if (currentScore == null) { - currentScore = 0.0; - } - Double newScore = currentScore + score; - sortedSet.add(newScore, member); - return newScore; - } catch (Exception e) { - log.error("zincrby from redisson error. key:{} score:{} member:{}", key, score, member, e); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Double currentScore = sortedSet.getScore(member); + if (currentScore == null) { + currentScore = 0.0; } - return null; + Double newScore = currentScore + score; + sortedSet.add(newScore, member); + return newScore; } public void zadd(String key, Double score, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - sortedSet.add(score, member); - } catch (Exception e) { - log.error("zadd from redisson error. key:{} score:{} member:{}", key, score, member, e); - } + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + sortedSet.add(score, member); } public Long zrem(String key, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return sortedSet.remove(member) ? 1L : 0L; - } catch (Exception e) { - log.error("zrem from redisson error. key:{} member:{}", key, member, e); - } - return 0L; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return sortedSet.remove(member) ? 1L : 0L; } public Long zremrangeByScore(String key, double start, double end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Collection values = sortedSet.valueRange(start, true, end, true); - return sortedSet.removeAll(values) ? (long) values.size() : 0L; - } catch (Exception e) { - log.error("zremrangeByScore from redisson error. key:{} start:{} end:{}", key, start, end, e); - } - return 0L; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Collection values = sortedSet.valueRange(start, true, end, true); + return sortedSet.removeAll(values) ? (long) values.size() : 0L; } public Set> zrevrange(String key, Long begin, Long end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Collection> entries = sortedSet.entryRangeReversed(begin.intValue(), end.intValue()); - return entries.stream().map(entry -> { - Map map = Maps.newHashMap(); - map.put("member", entry.getValue()); - map.put("score", entry.getScore()); - return map; - }).collect(Collectors.toCollection(LinkedHashSet::new)); - } catch (Exception e) { - log.error("zrevrange from redisson error. key:{} begin:{} end:{}", key, begin, end, e); - } - return Sets.newLinkedHashSet(); - } - - public Set zrevrangeVals(String key, Long begin, Long end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return new LinkedHashSet<>(sortedSet.valueRangeReversed(begin.intValue(), end.intValue())); - } catch (Exception e) { - log.error("zrevrangeVals from redisson error. key:{} begin:{} end:{}", key, begin, end, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Collection> entries = sortedSet.entryRangeReversed(begin.intValue(), end.intValue()); + return entries.stream().map(entry -> { + Map map = Maps.newHashMap(); + map.put("member", entry.getValue()); + map.put("score", entry.getScore()); + return map; + }).collect(Collectors.toCollection(LinkedHashSet::new)); } /** @@ -636,37 +308,14 @@ public class JedisService { * @return */ public Set> zrange(String key, Integer begin, Integer end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Collection> entries = sortedSet.entryRange(begin, end); - return entries.stream().map(entry -> { - Map map = Maps.newHashMap(); - map.put("member", entry.getValue()); - map.put("score", entry.getScore()); - return map; - }).collect(Collectors.toCollection(LinkedHashSet::new)); - } catch (Exception e) { - log.error("zrange from redisson error. key:{} begin:{} end:{}", key, begin, end, e); - } - return Sets.newLinkedHashSet(); - } - - /** - * 获取sorted set中成员排名,按score从低到高 - * - * @param key - * @param member - * @return - */ - public Long zrank(String key, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Integer rank = sortedSet.rank(member); - return rank != null ? rank.longValue() : null; - } catch (Exception e) { - log.error("zrank from redisson error. key:{} member:{}", key, member, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Collection> entries = sortedSet.entryRange(begin, end); + return entries.stream().map(entry -> { + Map map = Maps.newHashMap(); + map.put("member", entry.getValue()); + map.put("score", entry.getScore()); + return map; + }).collect(Collectors.toCollection(LinkedHashSet::new)); } /** @@ -677,14 +326,9 @@ public class JedisService { * @return */ public Long zrevrank(String key, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Integer rank = sortedSet.revRank(member); - return rank != null ? rank.longValue() : null; - } catch (Exception e) { - log.error("zrevrank from redisson error. key:{} member:{}", key, member, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Integer rank = sortedSet.revRank(member); + return rank != null ? rank.longValue() : null; } /** @@ -695,13 +339,8 @@ public class JedisService { * @return */ public Double zscore(String key, String member) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return sortedSet.getScore(member); - } catch (Exception e) { - log.error("zscore from redisson error. key:{} member:{}", key, member, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return sortedSet.getScore(member); } /** @@ -712,17 +351,12 @@ public class JedisService { * @return */ public List zmscore(String key, String... members) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - List scores = new ArrayList<>(); - for (String member : members) { - scores.add(sortedSet.getScore(member)); - } - return scores; - } catch (Exception e) { - log.error("zmscore from redisson error. key:{} members:{}", key, members, e); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + List scores = new ArrayList<>(); + for (String member : members) { + scores.add(sortedSet.getScore(member)); } - return new ArrayList<>(); + return scores; } /** @@ -732,13 +366,8 @@ public class JedisService { * @return */ public Long zcard(String key) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return (long) sortedSet.size(); - } catch (Exception e) { - log.error("zcard from redisson error. key:{}", key, e); - } - return 0L; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return (long) sortedSet.size(); } /** @@ -749,13 +378,8 @@ public class JedisService { * @return */ public Boolean expire(String key, Integer seconds) { - try { - RBucket bucket = redissonClient.getBucket(key); - return bucket.expire(seconds, TimeUnit.SECONDS); - } catch (Exception e) { - log.error("expire from redisson error. key:{} seconds:{}", key, seconds, e); - } - return false; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return bucket.expire(seconds, TimeUnit.SECONDS); } /** @@ -766,13 +390,8 @@ public class JedisService { * @return */ public Boolean expireAt(String key, Long seconds) { - try { - RBucket bucket = redissonClient.getBucket(key); - return bucket.expireAt(new Date(seconds * 1000)); - } catch (Exception e) { - log.error("expireAt from redisson error. key:{} seconds:{}", key, seconds, e); - } - return false; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return bucket.expireAt(new Date(seconds * 1000)); } /** @@ -783,13 +402,8 @@ public class JedisService { * @return */ public Boolean pexpireAt(String key, Long millis) { - try { - RBucket bucket = redissonClient.getBucket(key); - return bucket.expireAt(new Date(millis)); - } catch (Exception e) { - log.error("pexpireAt from redisson error. key:{} millis:{}", key, millis, e); - } - return false; + RBucket bucket = redissonClient.getBucket(key, StringCodec.INSTANCE); + return bucket.expireAt(new Date(millis)); } /** @@ -801,13 +415,8 @@ public class JedisService { * @return */ public Set zrangeMembers(String key, Integer begin, Integer end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return new LinkedHashSet<>(sortedSet.valueRange(begin, end)); - } catch (Exception e) { - log.error("zrangeMembers from redisson error. key:{} begin:{} end:{}", key, begin, end, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return new LinkedHashSet<>(sortedSet.valueRange(begin, end)); } /** @@ -819,16 +428,12 @@ public class JedisService { * @param limitSize */ public void zaddLimit(String key, double score, String member, int limitSize) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - sortedSet.add(score, member); - // 限制大小 - while (sortedSet.size() > limitSize) { - // 删除最小的元素 - sortedSet.pollFirst(); - } - } catch (Exception e) { - log.error("zaddLimit from redisson error. key:{} score:{} member:{} limitSize:{}", key, score, member, limitSize, e); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + sortedSet.add(score, member); + // 限制大小 + while (sortedSet.size() > limitSize) { + // 删除最小的元素 + sortedSet.pollFirst(); } } @@ -840,16 +445,12 @@ public class JedisService { * @param limitSize */ public void zaddLimit(String key, Map map, int limitSize) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - map.forEach((member, score) -> sortedSet.add(score, member)); - // 限制大小 - while (sortedSet.size() > limitSize) { - // 删除最小的元素 - sortedSet.pollFirst(); - } - } catch (Exception e) { - log.error("zaddLimit from redisson error. key:{} map:{} limitSize:{}", key, map, limitSize, e); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + map.forEach((member, score) -> sortedSet.add(score, member)); + // 限制大小 + while (sortedSet.size() > limitSize) { + // 删除最小的元素 + sortedSet.pollFirst(); } } @@ -857,61 +458,42 @@ public class JedisService { * zset 添加多条数据 */ public void zadd(String key, Map map, boolean clean) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - if (clean) { - sortedSet.clear(); - } - map.forEach((member, score) -> sortedSet.add(score, member)); - } catch (Exception e) { - log.error("zadd from redisson error. key:{} map:{}", key, map, e); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + if (clean) { + sortedSet.clear(); } + map.forEach((member, score) -> sortedSet.add(score, member)); } /** * 通过redis的Pipeline 批量添加list数据 */ public boolean lpushList(String key, List list) { - try { - RList rlist = redissonClient.getList(key); - for (int i = list.size() - 1; i >= 0; i--) { - rlist.add(0, list.get(i)); - } - return true; - } catch (Exception e) { - log.error("lpushList from redisson error. key:{} list:{}", key, list, e); + RList rlist = redissonClient.getList(key, StringCodec.INSTANCE); + for (int i = list.size() - 1; i >= 0; i--) { + rlist.add(0, list.get(i)); } - return false; + return true; } /** * 通过redis的Pipeline 批量添加list数据 */ public boolean rpushList(String key, List list) { - try { - RList rlist = redissonClient.getList(key); - rlist.addAll(list); - return true; - } catch (Exception e) { - log.error("rpushList from redisson error. key:{} list:{}", key, list, e); - } - return false; + RList rlist = redissonClient.getList(key, StringCodec.INSTANCE); + rlist.addAll(list); + return true; } /** * 通过redis的Pipeline 批量添加Set数据 */ public boolean saddSet(String key, List list) { - try { - RSet set = redissonClient.getSet(key); - // 去重 - Set uniqueList = new HashSet<>(list); - set.addAll(uniqueList); - return true; - } catch (Exception e) { - log.error("saddSet from redisson error. key:{} list:{}", key, list, e); - } - return false; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + // 去重 + Set uniqueList = new HashSet<>(list); + set.addAll(uniqueList); + return true; } /** @@ -923,33 +505,18 @@ public class JedisService { * @return Set */ public Set zrangeByScore(String key, String min, String max) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return new LinkedHashSet<>(sortedSet.valueRange(Double.parseDouble(min), true, Double.parseDouble(max), true)); - } catch (Exception e) { - log.error("zrangeByScore from redisson error. key:{} min:{} max:{}", key, min, max, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return new LinkedHashSet<>(sortedSet.valueRange(Double.parseDouble(min), true, Double.parseDouble(max), true)); } public Set zrangeByScore(String key, double min, double max) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - return new LinkedHashSet<>(sortedSet.valueRange(min, true, max, true)); - } catch (Exception e) { - log.error("zrangeByScore from redisson error. key:{} min:{} max:{}", key, min, max, e); - } - return null; + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + return new LinkedHashSet<>(sortedSet.valueRange(min, true, max, true)); } public Set smembers(String key) { - try { - RSet set = redissonClient.getSet(key); - return set.readAll(); - } catch (Exception e) { - log.error("smembers from redisson error. key:{}", key, e); - } - return null; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + return set.readAll(); } /** @@ -960,13 +527,8 @@ public class JedisService { * @return */ public boolean sismember(String key, String member) { - try { - RSet set = redissonClient.getSet(key); - return set.contains(member); - } catch (Exception e) { - log.error("sismember from redisson error. key:{} member:{}", key, member, e); - } - return false; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + return set.contains(member); } /** @@ -977,14 +539,9 @@ public class JedisService { * @return */ public long sadd(String key, String member) { - try { - RSet set = redissonClient.getSet(key); - boolean added = set.add(member); - return added ? 1L : 0L; - } catch (Exception e) { - log.error("sadd from redisson error. key:{} member:{}", key, member, e); - } - return 0L; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + boolean added = set.add(member); + return added ? 1L : 0L; } /** @@ -994,12 +551,7 @@ public class JedisService { * @return */ public Boolean exits(String key) { - try { - return redissonClient.getBucket(key).isExists(); - } catch (Exception e) { - log.error("exits from redisson error. key:{}", key, e); - } - return false; + return redissonClient.getBucket(key, StringCodec.INSTANCE).isExists(); } /** @@ -1010,14 +562,9 @@ public class JedisService { * @return */ public Long srem(String key, String member) { - try { - RSet set = redissonClient.getSet(key); - boolean removed = set.remove(member); - return removed ? 1L : 0L; - } catch (Exception e) { - log.error("srem from redisson error. key:{} member:{}", key, member, e); - } - return 0L; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + boolean removed = set.remove(member); + return removed ? 1L : 0L; } /** @@ -1032,33 +579,9 @@ public class JedisService { rKeys.delete(keyList.toArray(new String[0])); } - /** - * 批量写入 - * - * @param key - * @param jsonObject - */ - public void hsetBatch(String key, JSONObject jsonObject) { - try { - RMap map = redissonClient.getMap(key); - Map batchMap = new HashMap<>(); - jsonObject.forEach((itemKey, itemValue) -> { - batchMap.put(itemKey, JSONObject.toJSONString(itemValue)); - }); - map.putAll(batchMap); - } catch (Exception e) { - log.error("hsetBatch fail.", e); - } - } - public Long hlen(String key) { - try { - RMap map = redissonClient.getMap(key); - return (long) map.size(); - } catch (Exception e) { - log.error("hlen from redisson error. key:{}", key, e); - } - return null; + RMap map = redissonClient.getMap(key, StringCodec.INSTANCE); + return (long) map.size(); } /** @@ -1067,53 +590,20 @@ public class JedisService { * @date 2020/3/19/0019 */ public List srandmember(String key, int count) { - try { - RSet set = redissonClient.getSet(key); - Collection result = set.random(count); - return new ArrayList<>(result); - } catch (Exception e) { - log.error("srandmember from redisson error.", e); - } - return null; - } - - /** - * @description 随机删除一个元素,并返回 - * @author qiudonglin - * @date 2020/3/26/0026 - * @return - */ - public Set spop(String key, int count) { - try { - RSet set = redissonClient.getSet(key); - Set result = new HashSet<>(); - for (int i = 0; i < Math.min(count, set.size()); i++) { - String element = set.removeRandom(); - if (element != null) { - result.add(element); - } - } - return result; - } catch (Exception e) { - log.error("spop from redisson error.", e); - } - return null; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + Collection result = set.random(count); + return new ArrayList<>(result); } public Set> zrevrangeWithScore(String key, Long begin, Long end) { - try { - RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key); - Collection> entries = sortedSet.entryRangeReversed(begin.intValue(), end.intValue()); - return entries.stream().map(entry -> { - Map map = Maps.newHashMap(); - map.put("member", entry.getValue()); - map.put("score", entry.getScore()); - return map; - }).collect(Collectors.toCollection(LinkedHashSet::new)); - } catch (Exception e) { - log.error("zrevrangeWithScore from redisson error. key:{} begin:{} end:{}", key, begin, end, e); - } - return Sets.newLinkedHashSet(); + RScoredSortedSet sortedSet = redissonClient.getScoredSortedSet(key, StringCodec.INSTANCE); + Collection> entries = sortedSet.entryRangeReversed(begin.intValue(), end.intValue()); + return entries.stream().map(entry -> { + Map map = Maps.newHashMap(); + map.put("member", entry.getValue()); + map.put("score", entry.getScore()); + return map; + }).collect(Collectors.toCollection(LinkedHashSet::new)); } /** @@ -1123,13 +613,8 @@ public class JedisService { * @return */ public Long scard(String key) { - try { - RSet set = redissonClient.getSet(key); - return (long) set.size(); - } catch (Exception e) { - log.error("scard from redisson error. key:{}", key, e); - } - return 0L; + RSet set = redissonClient.getSet(key, StringCodec.INSTANCE); + return (long) set.size(); } /** @@ -1168,8 +653,8 @@ public class JedisService { if (acquired) { result = identifier; } - } catch (Exception e) { - log.error("lock error, lockKey:{} waitTime:{} timeout:{}", lockKey, waitTime, timeout, e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } log.info("获取redis分布式锁结束,key:{}, waitTime:{}ms, timeout:{}s, lockVal:{}, 结果:{}", lockKey, waitTime, timeout, result, (null == result ? "失败" : "成功")); @@ -1182,16 +667,12 @@ public class JedisService { * @param lockVal 锁的值 */ public void unlock(String lockKey, String lockVal) { - try { - RLock lock = redissonClient.getLock(lockKey); - if (lock.isHeldByCurrentThread()) { - lock.unlock(); - log.info("解除redis分布式锁完成,key:{}, lockVal:{}, 解除结果:成功", lockKey, lockVal); - } else { - log.info("解除redis分布式锁失败,lockVal不正确的,key:{}, lockVal:{}", lockKey, lockVal); - } - } catch (Exception e) { - log.error("unlock error, lockKey:{} lockVal:{}", lockKey, lockVal, e); + RLock lock = redissonClient.getLock(lockKey); + if (lock.isHeldByCurrentThread()) { + lock.unlock(); + log.info("解除redis分布式锁完成,key:{}, lockVal:{}, 解除结果:成功", lockKey, lockVal); + } else { + log.info("解除redis分布式锁失败,lockVal不正确的,key:{}, lockVal:{}", lockKey, lockVal); } } @@ -1205,9 +686,9 @@ public class JedisService { try { RLock lock = redissonClient.getLock(lockKey); return lock.tryLock(0, timeout, TimeUnit.SECONDS); - } catch (Exception e) { - log.error("isExist error", e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return false; } - return false; } } \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/user/PrivatePhotoService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/user/PrivatePhotoService.java index 125bb208c..faf52e07a 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/user/PrivatePhotoService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/user/PrivatePhotoService.java @@ -141,7 +141,7 @@ public class PrivatePhotoService extends BaseService{ } private void deletePhotoCache(Long pid, Long uid) { - jedisService.hdelete(RedisKey.private_photo.getKey() + uid, String.valueOf(pid), null); + jedisService.hdelete(RedisKey.private_photo.getKey() + uid, String.valueOf(pid)); jedisService.hdel(RedisKey.user_summary.getKey(), uid.toString()); }