redis.clients.jedis.commands.SetBinaryCommands Maven / Gradle / Ivy
Show all versions of jedis_preview Show documentation
package redis.clients.jedis.commands;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.params.ScanParams;
import redis.clients.jedis.resps.ScanResult;
public interface SetBinaryCommands {
long sadd(byte[] key, byte[]... members);
Set smembers(byte[] key);
long srem(byte[] key, byte[]... members);
byte[] spop(byte[] key);
Set spop(byte[] key, long count);
long scard(byte[] key);
boolean sismember(byte[] key, byte[] member);
List smismember(byte[] key, byte[]... members);
byte[] srandmember(byte[] key);
List srandmember(byte[] key, int count);
default ScanResult sscan(byte[] key, byte[] cursor) {
return sscan(key, cursor, new ScanParams());
}
ScanResult sscan(byte[] key, byte[] cursor, ScanParams params);
Set sdiff(byte[]... keys);
long sdiffstore(byte[] dstkey, byte[]... keys);
Set sinter(byte[]... keys);
long sinterstore(byte[] dstkey, byte[]... keys);
/**
* This command works exactly like {@link SetBinaryCommands#sinter(byte[][]) SINTER} but instead of returning
* the result set, it returns just the cardinality of the result. LIMIT defaults to 0 and means unlimited
*
* Time complexity O(N*M) worst case where N is the cardinality of the smallest
* @param keys
* @return The cardinality of the set which would result from the intersection of all the given sets
*/
long sintercard(byte[]... keys);
/**
* This command works exactly like {@link SetBinaryCommands#sinter(byte[][]) SINTER} but instead of returning
* the result set, it returns just the cardinality of the result.
*
* Time complexity O(N*M) worst case where N is the cardinality of the smallest
* @param limit If the intersection cardinality reaches limit partway through the computation,
* the algorithm will exit and yield limit as the cardinality.
* @param keys
* @return The cardinality of the set which would result from the intersection of all the given sets
*/
long sintercard(int limit, byte[]... keys);
Set sunion(byte[]... keys);
long sunionstore(byte[] dstkey, byte[]... keys);
long smove(byte[] srckey, byte[] dstkey, byte[] member);
}