@Override public Long sRem(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().srem(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public T evict(String key) { T cache = lookup(key); jedisCluster.del(key); jedisCluster.srem(ALLKEY, key); return cache; }
/** * 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 * @param key * @param member * @return */ public Long srem(String key, String... member) { return jedisCluster.srem(key, member); }
/** * 返回一个数组;如果集合为空,返回空数组 * @param key * @param members 格式为:member,member,...... * @return 被成功移除的元素的数量,不包括被忽略的元素 */ public long srem(String key,String members){ return jedisCluster.srem(key, members); } //SortedSet(有序集合)
@Override public Long srem(byte[] bytes, byte[]... bytes1) { return cluster.srem(bytes, bytes1); }
public Long srem(String key, String... members) { return jedisCluster.srem(key, members); }
public Long srem(byte[] key, byte[]... member) { return jedisCluster.srem(key, member); }
@Override public void del(String sessionsKey, String key) { jedisCluster.srem(sessionsKey, key); jedisCluster.del(key); }
@Override public void clean(String sessionsKey) { Set<String> sessions = jedisCluster.smembers(sessionsKey); String[] sessionsArray = sessions.toArray(new String[sessions.size()]); jedisCluster.srem(sessionsKey, sessionsArray); jedisCluster.del(sessionsArray); }
@Override public long srem(final String key, final String... members) { Assert.hasText(key); if (members.length == 0) { return 0; } try { return cluster.srem(key, members); } catch (final Throwable e) { throw new RedisClientException(e.getMessage(), e); } }
@Override public T evict(String key) { T cache = lookup(key); jedisCluster.del(key); jedisCluster.srem(ALLKEY, key); return cache; }
/** * 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 */ public Long srem(Object key, Object... members) { return jedisCluster.srem(keyToBytes(key), valuesToBytesArray(members)); }
@Override public Long sRem(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().srem(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public Long sRem(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().srem(key, values); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public Long srem(String key, String... members) { return jedisCluster.srem(SafeEncoder.encode(key), SafeEncoder.encodeMany(members)); }
@Test public void clean() throws UnsupportedEncodingException { HashSet<String> sessions = new HashSet<String>(Arrays.asList("key")); String[] sessionsArray = sessions.toArray(new String[sessions.size()]); when(this.jedisCluster.smembers(SESSIONS_KEY)).thenReturn(sessions); this.jedisPoolTemplate.clean(SESSIONS_KEY); verify(this.jedisCluster, times(1)).srem(SESSIONS_KEY, sessionsArray); verify(this.jedisCluster, times(1)).del(sessionsArray); } }
@Test public void del() { this.jedisPoolTemplate.del(SESSIONS_KEY, "key"); verify(this.jedisCluster, times(1)).srem(SESSIONS_KEY, "key"); verify(this.jedisCluster, times(1)).del("key"); }
/** * 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 * 当 key 不是集合类型,返回一个错误。 */ public Long srem(Object key, Object obj) { if (null == key || null == obj) { return null; } if (cluster) { return jedisCluster.srem(serializeKey(key), serializeVal(obj)); } else { return jedisOperator.srem(serializeKey(key), serializeVal(obj)); } }