@Override public Long sAdd(byte[] key, byte[]... values) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(values, "Values must not be null!"); Assert.noNullElements(values, "Values must not contain null elements!"); try { return connection.getCluster().sadd(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public void caching(String key, T cache) { byte[] cacheKey = key.getBytes(Consts.UTF_8); byte[] value = SerializationUtils.serialize(cache); if (cache.getExpires() > 0) { jedisCluster.setex(cacheKey, (int) (cache.getExpires() - CUTMS) / 1000, value); } else { jedisCluster.set(cacheKey, value); } jedisCluster.sadd(ALLKEY, key); }
@Override public Long sadd(byte[] bytes, byte[]... bytes1) { return cluster.sadd(bytes, bytes1); }
/** * 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 * @param key * @param members * @return */ public Long sadd(String key, String... members) { return jedisCluster.sadd(key, members); }
public Long sadd(byte[] key, byte[]... members) { return jedisCluster.sadd(key, members); }
public Long sadd(String key, String... members) { return jedisCluster.sadd(key, members); }
/** * 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 * 假如 key 不存在,则创建一个只包含 member 元素作成员的集合 * 当 key 不是集合类型时,返回一个错误 * @param key * @param members 格式为:member,member,....... * @return 被添加到集合中的新元素的数量,不包括被忽略的元素 */ public long sadd(String key,String members){ String[] member=members.split(","); return jedisCluster.sadd(key, member); } /**
@Override public void sadd(final String setName, final String value) { try { jedisCluster.sadd(setName, value); } catch (Exception e) { if (LOG.isErrorEnabled()) { LOG.error("Cannot send Redis message with command RPUSH to set {} error message {}", setName, e.getMessage()); } throw e; } }
@Override public void sadd(final String setName, final String value) { try { jedisCluster.sadd(setName, value); } catch (Exception e) { if (LOG.isErrorEnabled()) { LOG.error("Cannot send Redis message with command RPUSH to set {} error message {}", setName, e.getMessage()); } throw e; } }
@Override public void set(String key, String sessionsKey, byte[] session, int timeout) throws UnsupportedEncodingException { jedisCluster.setex(key.getBytes(Protocol.CHARSET), timeout, session); jedisCluster.sadd(sessionsKey, key); }
@Override public long sadd(final String key, final String... members) { Assert.hasText(key); if (members.length == 0) { return 0; } try { return cluster.sadd(key, members); } catch (final Throwable e) { throw new RedisClientException(e.getMessage(), e); } }
@Override public Long sadd(String key, List<?> members) { byte[] bk = SafeEncoder.encode(key); for(Object v : members){ jedisCluster.sadd(bk, SafeEncoder.encode(String.valueOf(v))); } return 1L; }
/** * 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 * 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 * 当 key 不是集合类型时,返回一个错误。 */ public Long sadd(Object key, Object... members) { return jedisCluster.sadd(keyToBytes(key), valuesToBytesArray(members)); }
@Override public Long sAdd(byte[] key, byte[]... values) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(values, "Values must not be null!"); Assert.noNullElements(values, "Values must not contain null elements!"); try { return connection.getCluster().sadd(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public long sreplace(final String key, final String[] oldMembers, final String[] newMembers) { Assert.hasText(key); try { if (!ArrayUtils.isEmpty(oldMembers)) { srem(key, oldMembers); } if (!ArrayUtils.isEmpty(newMembers)) { return cluster.sadd(key, newMembers); } return 0; } catch (final Throwable e) { throw new RedisClientException(e.getMessage(), e); } }
@Override public Long sadd(String key, String... members) { return jedisCluster.sadd(SafeEncoder.encode(key), SafeEncoder.encodeMany(members)); }
@Override public Long sAdd(byte[] key, byte[]... values) { Assert.notNull(key, "Key must not be null!"); Assert.notNull(values, "Values must not be null!"); Assert.noNullElements(values, "Values must not contain null elements!"); try { return connection.getCluster().sadd(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public void caching(String key, T cache) { byte[] cacheKey = key.getBytes(Consts.UTF_8); byte[] value = SerializationUtils.serialize(cache); if (cache.getExpires() > 0) { jedisCluster.setex(cacheKey, (int) (cache.getExpires() - CUTMS) / 1000, value); } else { jedisCluster.set(cacheKey, value); } jedisCluster.sadd(ALLKEY, key); }
@Test public void set() throws UnsupportedEncodingException { byte[] session = "session".getBytes(); this.jedisPoolTemplate.set("key", SESSIONS_KEY, session, timeout); verify(this.jedisCluster, times(1)).setex("key".getBytes(Protocol.CHARSET), timeout, session); verify(this.jedisCluster, times(1)).sadd(SESSIONS_KEY, "key"); }
/** * 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 * 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 * 当 key 不是集合类型时,返回一个错误。 */ public Long sadd(Object key, Object obj) { if (null == key || null == obj) { return null; } if (cluster) { return jedisCluster.sadd(serializeKey(key), serializeVal(obj)); } else { return jedisOperator.sadd(serializeKey(key), serializeVal(obj)); } }