@Override public Set<byte[]> sMembers(byte[] key) { return convertAndReturn(delegate.sMembers(key), identityConverter); }
public List<?> getAllOf(String keyspace, long offset, int rows) { byte[] binKeyspace = toBytes(keyspace); Set<byte[]> ids = redisOps.execute((RedisCallback<Set<byte[]>>) connection -> connection.sMembers(binKeyspace)); List<Object> result = new ArrayList<>(); List<byte[]> keys = new ArrayList<>(ids); if (keys.isEmpty() || keys.size() < offset) { return Collections.emptyList(); } offset = Math.max(0, offset); if (rows > 0) { keys = keys.subList((int) offset, Math.min((int) offset + rows, keys.size())); } for (byte[] key : keys) { result.add(get(key, keyspace)); } return result; }
@Override public Set<String> sMembers(String key) { return convertAndReturn(delegate.sMembers(serialize(key)), byteSetToStringSet); }
@Override public Set<V> members(K key) { byte[] rawKey = rawKey(key); Set<byte[]> rawValues = execute(connection -> connection.sMembers(rawKey), true); return deserializeValues(rawValues); }
/** * Removes a key from all available indexes. * * @param key must not be {@literal null}. */ public void removeKeyFromIndexes(String keyspace, Object key) { Assert.notNull(key, "Key must not be null!"); byte[] binKey = toBytes(key); byte[] indexHelperKey = ByteUtils.concatAll(toBytes(keyspace + ":"), binKey, toBytes(":idx")); for (byte[] indexKey : connection.sMembers(indexHelperKey)) { DataType type = connection.type(indexKey); if (DataType.ZSET.equals(type)) { connection.zRem(indexKey, binKey); } else { connection.sRem(indexKey, binKey); } } connection.del(indexHelperKey); }
@Override public Set<byte[]> sMembers(byte[] key) { return redisConnection.sMembers(key); }
@Override public Set<byte[]> sMembers(byte[] key) { return convertAndReturn(delegate.sMembers(key), identityConverter); }
@Override public Set<Object> keySet() { return (Set<Object>) redisOperations.execute((RedisCallback) connection -> connection.sMembers(keySetKey).stream().map(String::new).collect(Collectors.toSet())); }
@Override public Set<byte[]> sMembers(byte[] key) { return convertAndReturn(delegate.sMembers(key), identityConverter); }
public List<?> getAllOf(String keyspace, long offset, int rows) { byte[] binKeyspace = toBytes(keyspace); Set<byte[]> ids = redisOps.execute((RedisCallback<Set<byte[]>>) connection -> connection.sMembers(binKeyspace)); List<Object> result = new ArrayList<>(); List<byte[]> keys = new ArrayList<>(ids); if (keys.isEmpty() || keys.size() < offset) { return Collections.emptyList(); } offset = Math.max(0, offset); if (rows > 0) { keys = keys.subList((int) offset, Math.min((int) offset + rows, keys.size())); } for (byte[] key : keys) { result.add(get(key, keyspace)); } return result; }
public List<?> getAllOf(String keyspace, long offset, int rows) { byte[] binKeyspace = toBytes(keyspace); Set<byte[]> ids = redisOps.execute((RedisCallback<Set<byte[]>>) connection -> connection.sMembers(binKeyspace)); List<Object> result = new ArrayList<>(); List<byte[]> keys = new ArrayList<>(ids); if (keys.isEmpty() || keys.size() < offset) { return Collections.emptyList(); } offset = Math.max(0, offset); if (rows > 0) { keys = keys.subList((int) offset, Math.min((int) offset + rows, keys.size())); } for (byte[] key : keys) { result.add(get(key, keyspace)); } return result; }
@Override public Set<String> sMembers(String key) { return convertAndReturn(delegate.sMembers(serialize(key)), byteSetToStringSet); }
@Override public Set<String> sMembers(String key) { return convertAndReturn(delegate.sMembers(serialize(key)), byteSetToStringSet); }
@Override public Set<V> members(K key) { byte[] rawKey = rawKey(key); Set<byte[]> rawValues = execute(connection -> connection.sMembers(rawKey), true); return deserializeValues(rawValues); }
@Override public Set<V> members(K key) { byte[] rawKey = rawKey(key); Set<byte[]> rawValues = execute(connection -> connection.sMembers(rawKey), true); return deserializeValues(rawValues); }
/** * Removes a key from all available indexes. * * @param key must not be {@literal null}. */ public void removeKeyFromIndexes(String keyspace, Object key) { Assert.notNull(key, "Key must not be null!"); byte[] binKey = toBytes(key); byte[] indexHelperKey = ByteUtils.concatAll(toBytes(keyspace + ":"), binKey, toBytes(":idx")); for (byte[] indexKey : connection.sMembers(indexHelperKey)) { DataType type = connection.type(indexKey); if (DataType.ZSET.equals(type)) { connection.zRem(indexKey, binKey); } else { connection.sRem(indexKey, binKey); } } connection.del(indexHelperKey); }
/** * Removes a key from all available indexes. * * @param key must not be {@literal null}. */ public void removeKeyFromIndexes(String keyspace, Object key) { Assert.notNull(key, "Key must not be null!"); byte[] binKey = toBytes(key); byte[] indexHelperKey = ByteUtils.concatAll(toBytes(keyspace + ":"), binKey, toBytes(":idx")); for (byte[] indexKey : connection.sMembers(indexHelperKey)) { DataType type = connection.type(indexKey); if (DataType.ZSET.equals(type)) { connection.zRem(indexKey, binKey); } else { connection.sRem(indexKey, binKey); } } connection.del(indexHelperKey); }