Interface RedisDeferredCommands
-
- All Known Implementing Classes:
RedisPipeline
public interface RedisDeferredCommands
Interface for Redis connection stuff from deferred calls like pipelines or transactions that don't require immediate feedback.- Author:
- Matthew Tropiano
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
append(String key, String value)
void
bitcount(String key)
void
bitcount(String key, long start, long end)
void
bitop(BitwiseOperation operation, String destkey, String key, String... keys)
void
bitpos(String key, long bit)
void
bitpos(String key, long bit, Long start, Long end)
void
blpop(long timeout, String key, String... keys)
void
brpop(long timeout, String key, String... keys)
void
brpoplpush(long timeout, String source, String destination)
void
decr(String key)
void
decrby(String key, long decrement)
void
del(String key, String... keys)
void
dump(String key)
void
echo(String message)
void
eval(String scriptContent, String[] keys, Object... args)
void
evalsha(String hash, String[] keys, Object... args)
void
exists(String key)
void
expire(String key, long seconds)
void
expireat(String key, long timestamp)
void
get(String key)
void
getbit(String key, long offset)
void
getrange(String key, long start, long end)
void
getset(String key, Number value)
void
getset(String key, String value)
void
hdel(String key, String field, String... fields)
void
hexists(String key, String field)
void
hget(String key, String field)
void
hgetall(String key)
void
hincrby(String key, String field, long increment)
void
hincrbyfloat(String key, String field, double increment)
void
hkeys(String key)
void
hlen(String key)
void
hmget(String key, String field, String... fields)
void
hmset(String key, String field, String value, String... fieldvalues)
void
hset(String key, String field, Number value)
void
hset(String key, String field, String value)
void
hsetnx(String key, String field, Number value)
void
hsetnx(String key, String field, String value)
void
hvals(String key)
void
incr(String key)
void
incrby(String key, long increment)
void
incrbyfloat(String key, double increment)
void
keys(String pattern)
void
lindex(String key, long index)
void
linsert(String key, boolean before, String pivot, Number value)
void
linsert(String key, boolean before, String pivot, String value)
void
llen(String key)
void
lpop(String key)
void
lpush(String key, String value, String... values)
void
lpushx(String key, String value)
void
lrange(String key, long start, long stop)
void
lrem(String key, long count, String value)
void
lset(String key, long index, String value)
void
ltrim(String key, long start, long stop)
void
mget(String key, String... keys)
void
move(String key, long db)
void
mset(KeyValue<String,Object>... pairs)
Likemset(String, String, String...)
, but takes key-value pairs.void
mset(String key, String value, String... keyValues)
void
msetnx(KeyValue<String,Object>... pairs)
Likemsetnx(String, String, String...)
, but takes key-value pairs.void
msetnx(String key, String value, String... keyValues)
void
persist(String key)
void
pexpire(String key, long milliseconds)
void
pexpireat(String key, long timestamp)
void
psetex(String key, long milliseconds, String value)
void
pttl(String key)
void
publish(String channel, String message)
void
randomkey()
void
rename(String key, String newkey)
void
renamenx(String key, String newkey)
void
restore(String key, long ttl, String serializedvalue)
void
rpop(String key)
void
rpoplpush(String source, String destination)
void
rpush(String key, String value, String... values)
void
rpushx(String key, String value)
void
sadd(String key, Object member, Object... members)
void
sadd(String key, String member, String... members)
void
scard(String key)
void
scriptExists(String scriptHash, String... scriptHashes)
void
scriptFlush()
void
scriptKill(String hash)
void
scriptLoad(File content)
void
scriptLoad(InputStream content)
void
scriptLoad(String content)
void
sdiff(String key, String... keys)
void
sdiffstore(String destination, String key, String... keys)
void
set(String key, Number value)
void
set(String key, String value)
void
setbit(String key, long offset, long value)
void
setex(String key, long seconds, String value)
void
setnx(String key, String value)
void
setrange(String key, long offset, String value)
void
sinter(String key, String... keys)
void
sinterstore(String destination, String key, String... keys)
void
sismember(String key, Number member)
void
sismember(String key, String member)
void
smembers(String key)
void
smove(String source, String destination, String member)
void
sort(String key, String pattern, SortOrder sortOrder, boolean alpha, Long limitOffset, Long limitCount, String storeKey, String... getPatterns)
void
spop(String key)
void
srandmember(String key)
void
srandmember(String key, long count)
void
srem(String key, Object member, Object... members)
void
srem(String key, String member, String... members)
void
strlen(String key)
void
sunion(String key, String... keys)
void
sunionstore(String destination, String key, String... keys)
void
ttl(String key)
void
type(String key)
void
zadd(String key, double score, Number member)
void
zadd(String key, double score, String member)
void
zadd(String key, KeyValue<Double,String>... pairs)
void
zcard(String key)
void
zcount(String key, double min, double max)
Likezcount(String, String, String)
, except it accepts doubles for min and max, not strings.void
zcount(String key, String min, String max)
void
zincrby(String key, double increment, String member)
void
zinterstore(String destination, double[] weights, Aggregation aggregation, String key, String... keys)
void
zinterstore(String destination, double[] weights, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except it does no aggregation of scores.void
zinterstore(String destination, Aggregation aggregation, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores.void
zinterstore(String destination, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores, and does no aggregation of scores.void
zlexcount(String key, double min, double max)
Likezlexcount(String, String, String)
, except it accepts doubles for min and max, not strings.void
zlexcount(String key, String min, String max)
void
zrange(String key, long start, long stop, boolean withScores)
void
zrangebylex(String key, double min, double max)
Likezrangebylex(String, String, String)
, except it accepts doubles for min and max, not strings, with no limit.void
zrangebylex(String key, double min, double max, Long limitOffset, Long limitCount)
Likezrangebylex(String, String, String, Long, Long)
, except it accepts doubles for min and max, not strings.void
zrangebylex(String key, String min, String max)
Likezrangebylex(String, String, String, Long, Long)
, with no limit.void
zrangebylex(String key, String min, String max, Long limitOffset, Long limitCount)
void
zrangebyscore(String key, double min, double max, boolean withScores)
Likezrangebyscore(String, String, String, boolean)
, except it accepts doubles for min and max, not strings.void
zrangebyscore(String key, double min, double max, boolean withScores, Long limitOffset, Long limitCount)
Likezrangebyscore(String, String, String, boolean, Long, Long)
, except it accepts doubles for min and max, not strings.void
zrangebyscore(String key, String min, String max, boolean withScores)
Likezrangebyscore(String, String, String, boolean, Long, Long)
, except specifies no limit.void
zrangebyscore(String key, String min, String max, boolean withScores, Long limitOffset, Long limitCount)
void
zrank(String key, Number member)
void
zrank(String key, String member)
void
zrem(String key, Number member, Number... members)
void
zrem(String key, String member, String... members)
void
zremrangebylex(String key, double min, double max)
Likezrangebylex(String, String, String)
, except it accepts doubles for min and max.void
zremrangebylex(String key, String min, String max)
void
zremrangebyrank(String key, long start, long stop)
void
zremrangebyscore(String key, double min, double max)
Likezremrangebyscore(String, String, String)
, except it accepts doubles for min and max, not strings.void
zremrangebyscore(String key, String min, String max)
void
zrevrange(String key, long start, long stop, boolean withScores)
void
zrevrangebyscore(String key, double min, double max, boolean withScores)
Likezrevrangebyscore(String, String, String, boolean)
, except it accepts doubles for min and max, not strings.void
zrevrangebyscore(String key, double min, double max, boolean withScores, Long limitOffset, Long limitCount)
Likezrevrangebyscore(String, String, String, boolean, Long, Long)
, except it accepts doubles for min and max, not strings.void
zrevrangebyscore(String key, String min, String max, boolean withScores)
Likezrevrangebyscore(String, String, String, boolean, Long, Long)
, except specifies no limit.void
zrevrangebyscore(String key, String min, String max, boolean withScores, Long limitOffset, Long limitCount)
void
zrevrank(String key, String member)
void
zscore(String key, String member)
void
zunionstore(String destination, double[] weights, Aggregation aggregation, String key, String... keys)
void
zunionstore(String destination, double[] weights, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except it does no aggregation of scores.void
zunionstore(String destination, Aggregation aggregation, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores.void
zunionstore(String destination, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores, and does no aggregation of scores.
-
-
-
Method Detail
-
echo
void echo(String message)
From http://redis.io/commands/echo:
Available since 1.0.0.
-
del
void del(String key, String... keys)
From http://redis.io/commands/del:
Available since 1.0.0.
Time complexity: O(N) where N is the number of keys that will be removed. When a key to remove holds a value other than a string, the individual complexity for this key is O(M) where M is the number of elements in the list, set, sorted set or hash. Removing a single key that holds a string value is O(1).
Removes the specified keys. A key is ignored if it does not exist.
- Parameters:
key
- the first key to delete.keys
- the additional keys to delete.
-
dump
void dump(String key)
From http://redis.io/commands/dump:
Available since 2.6.0.
Time complexity: O(1) to access the key and additional O(N*M) to serialized it, where N is the number of Redis objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1*M) where M is small, so simply O(1).
Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the
restore(java.lang.String, long, java.lang.String)
command.
-
exists
void exists(String key)
From http://redis.io/commands/exists:
Available since 1.0.0.
Time complexity: O(1)
Returns if
key
exists.
-
expire
void expire(String key, long seconds)
From http://redis.io/commands/expire:
Available since 1.0.0.
Time complexity: O(1)
Set a timeout on
key
. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is often said to be volatile in Redis terminology.- Parameters:
key
- the key to expire.seconds
- the time-to-live in seconds.
-
expireat
void expireat(String key, long timestamp)
From http://redis.io/commands/expireat:
Available since 1.2.0.
Time complexity: O(1)
expireat has the same effect and semantic as
expire(java.lang.String, long)
, but instead of specifying the number of seconds representing the TTL (time to live), it takes an absolute Unix timestamp (seconds since January 1, 1970).- Parameters:
key
- the key to expire.timestamp
- the timestamp in from-Epoch milliseconds.
-
keys
void keys(String pattern)
From http://redis.io/commands/keys:
Available since 1.0.0.
Time complexity: O(N) with N being the number of keys in the database, under the assumption that the key names in the database and the given pattern have limited length.
Returns all keys matching
pattern
.- Parameters:
pattern
- a wildcard pattern for matching key names.
-
move
void move(String key, long db)
From http://redis.io/commands/move:
Available since 1.0.0.
Time complexity: O(1)
Move
key
from the currently selected database to the specified destination database. Whenkey
already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this.- Parameters:
key
- the key to move.db
- the target database.
-
persist
void persist(String key)
From http://redis.io/commands/persist:
Available since 2.2.0.
Time complexity: O(1)
Remove the existing timeout on
key
, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated).- Parameters:
key
- the key to persist (remove TTL).
-
pexpire
void pexpire(String key, long milliseconds)
From http://redis.io/commands/pexpire:
Available since 2.6.0.
Time complexity: O(1)
This command works exactly like
expire(java.lang.String, long)
but the time to live of the key is specified in milliseconds instead of seconds.- Parameters:
key
- the key to expire.milliseconds
- the time-to-live in milliseconds.
-
pexpireat
void pexpireat(String key, long timestamp)
From http://redis.io/commands/pexpireat:
Available since 2.6.0.
Time complexity: O(1)
PEXPIREAT has the same effect and semantic as
expireat(java.lang.String, long)
, but the Unix time at which the key will expire is specified in milliseconds instead of seconds.- Parameters:
key
- the key to expire.timestamp
- the timestamp in from-Epoch milliseconds.
-
pttl
void pttl(String key)
From http://redis.io/commands/pttl:
Available since 2.6.0.
Time complexity: O(1)
Like
ttl(java.lang.String)
, this command returns the remaining time to live of a key that has an expire set, with the sole difference that TTL returns the amount of remaining time in seconds while PTTL returns it in milliseconds.- Parameters:
key
- the key to inspect.
-
publish
void publish(String channel, String message)
From http://redis.io/commands/publish:
Available since 2.0.0.
Time complexity: O(N+M) where N is the number of clients subscribed to the receiving channel and M is the total number of subscribed patterns (by any client).
Posts a message to the given channel.
-
randomkey
void randomkey()
From http://redis.io/commands/randomkey:
Available since 1.0.0.
Time complexity: O(1)
Return a random key from the currently selected database.
-
rename
void rename(String key, String newkey)
From http://redis.io/commands/rename:
Available since 1.0.0.
Time complexity: O(1)
Renames
key
tonewkey
. It returns an error when the source and destination names are the same, or whenkey
does not exist. Ifnewkey
already exists it is overwritten, when this happensrename(java.lang.String, java.lang.String)
executes an implicitdel(java.lang.String, java.lang.String...)
operation, so if the deleted key contains a very big value it may cause high latency even ifrename(java.lang.String, java.lang.String)
itself is usually a constant-time operation.- Parameters:
key
- the old name.newkey
- the new name.
-
renamenx
void renamenx(String key, String newkey)
From http://redis.io/commands/renamenx:
Available since 1.0.0.
Time complexity: O(1)
Renames
key
tonewkey
ifnewkey
does not yet exist. It returns an error under the same conditions asrename(java.lang.String, java.lang.String)
.- Parameters:
key
- the old name.newkey
- the new name.
-
restore
void restore(String key, long ttl, String serializedvalue)
From http://redis.io/commands/restore:
Available since 2.6.0.
Time complexity: O(1) to create the new key and additional O(N*M) to recostruct the serialized value, where N is the number of Redis objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1*M) where M is small, so simply O(1). However for sorted set values the complexity is O(N*M*log(N)) because inserting values into sorted sets is O(log(N)).
Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via
dump(java.lang.String)
).- Parameters:
key
- the key to restore.ttl
- the time-to-live in milliseconds.serializedvalue
- the serialized value (from adump(java.lang.String)
call).
-
sort
void sort(String key, String pattern, SortOrder sortOrder, boolean alpha, Long limitOffset, Long limitCount, String storeKey, String... getPatterns)
From http://redis.io/commands/sort:
Available since 1.0.0.
Time complexity: O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is currently O(N) as there is a copy step that will be avoided in next releases.
Returns or stores the elements contained in the list, set, or sorted set at
key
. By default, sorting is numeric and elements are compared by their value interpreted as double precision floating point number.- Parameters:
key
- the key to sort the contents of.pattern
- if not null,sortOrder
- if true, sort descending. if false or null, sort ascending.alpha
- if true, sort lexicographically, not by a score.limitOffset
- if not null, the starting offset into the list (0-based).limitCount
- if not null, the amount of objects from the offset to sort. else, return all the way to the end.storeKey
- if not null, this is the key to store the result in.getPatterns
- the patterns for finding the sort score.
-
ttl
void ttl(String key)
From http://redis.io/commands/ttl:
Available since 1.0.0.
Time complexity: O(1)
Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset.
- Parameters:
key
- the key to inspect.
-
type
void type(String key)
From http://redis.io/commands/type:
Available since 1.0.0.
Time complexity: O(1)
Returns the string representation of the type of the value stored at
key
.
-
append
void append(String key, String value)
From http://redis.io/commands/append:
Available since 2.0.0.
Time complexity: O(1). The amortized time complexity is O(1) assuming the appended value is small and the already present value is of any size, since the dynamic string library used by Redis will double the free space available on every reallocation.
If
key
already exists and is a string, this command appends thevalue
at the end of the string. Ifkey
does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case.
-
bitcount
void bitcount(String key)
From http://redis.io/commands/bitcount:
Available since 2.6.0.
Time complexity: O(N)
Count the number of set bits (population counting) in a string.
-
bitcount
void bitcount(String key, long start, long end)
From http://redis.io/commands/bitcount:
Available since 2.6.0.
Time complexity: O(N)
Count the number of set bits (population counting) in a string between a start and end bit.
-
bitop
void bitop(BitwiseOperation operation, String destkey, String key, String... keys)
From http://redis.io/commands/bitop:
Available since 2.6.0.
Time complexity: O(N)
Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. equal to the size of the longest input string.
-
bitpos
void bitpos(String key, long bit)
From http://redis.io/commands/bitpos:
Available since 2.8.7.
Time complexity: O(N)
Return the position of the first bit set to 1 or 0 in a string.
-
bitpos
void bitpos(String key, long bit, Long start, Long end)
From http://redis.io/commands/bitpos:
Available since 2.8.7.
Time complexity: O(N)
Return the position of the first bit set to 1 or 0 in a string.
-
decr
void decr(String key)
From http://redis.io/commands/decr:
Available since 1.0.0.
Time complexity: O(1)
Decrements the number stored at
key
by one. If the key does not exist, it is set to0
before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer. This operation is limited to 64 bit signed integers.
-
decrby
void decrby(String key, long decrement)
From http://redis.io/commands/decrby:
Available since 1.0.0.
Time complexity: O(1)
Decrements the number stored at
key
bydecrement
. If the key does not exist, it is set to0
before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer. This operation is limited to 64 bit signed integers.
-
get
void get(String key)
From http://redis.io/commands/get:
Available since 1.0.0.
Time complexity: O(1)
Get the value of
key
. If the key does not exist the special valuenull
is returned. An error is returned if the value stored atkey
is not a string, because GET only handles string values. does not exist.
-
getbit
void getbit(String key, long offset)
From http://redis.io/commands/getbit:
Available since 2.2.0.
Time complexity: O(1)
Returns the bit value at offset in the string value stored at key.
-
getrange
void getrange(String key, long start, long end)
From http://redis.io/commands/getrange:
Available since 2.4.0.
Time complexity: O(N) where N is the length of the returned string. The complexity is ultimately determined by the returned length, but because creating a substring from an existing string is very cheap, it can be considered O(1) for small strings. it is called
SUBSTR
in Redis versions<= 2.0
.
-
getset
void getset(String key, String value)
From http://redis.io/commands/getset:
Available since 1.0.0.
Time complexity: O(1)
Atomically sets
key
tovalue
and returns the old value stored atkey
. Returns an error whenkey
exists but does not hold a string value.
-
getset
void getset(String key, Number value)
From http://redis.io/commands/getset:
Available since 1.0.0.
Time complexity: O(1)
Atomically sets
key
tovalue
and returns the old value stored atkey
. Returns an error whenkey
exists but does not hold a string value.
-
incr
void incr(String key)
From http://redis.io/commands/incr:
Available since 1.0.0.
Time complexity: O(1)
Increments the number stored at
key
by one. If the key does not exist, it is set to0
before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer. This operation is limited to 64 bit signed integers.
-
incrby
void incrby(String key, long increment)
From http://redis.io/commands/incrby:
Available since 1.0.0.
Time complexity: O(1)
Increments the number stored at
key
byincrement
. If the key does not exist, it is set to0
before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer. This operation is limited to 64 bit signed integers.
-
incrbyfloat
void incrbyfloat(String key, double increment)
From http://redis.io/commands/incrbyfloat:
Available since 2.6.0.
Time complexity: O(1)
Increment the string representing a floating point number stored at
key
by the specifiedincrement
. If the key does not exist, it is set to0
before performing the operation. An error is returned if one of the following conditions occur:
-
mget
void mget(String key, String... keys)
From http://redis.io/commands/mget:
Available since 1.0.0.
Time complexity: O(N) where N is the number of keys to retrieve.
Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value
nil
is returned. Because of this, the operation never fails.
-
mset
void mset(String key, String value, String... keyValues)
From http://redis.io/commands/mset:
Available since 1.0.1.
Time complexity: O(N) where N is the number of keys to set.
Sets the given keys to their respective values.
MSET
replaces existing values with new values, just as regular SET. Seemsetnx(java.lang.String, java.lang.String, java.lang.String...)
if you don't want to overwrite existing values.
-
mset
void mset(KeyValue<String,Object>... pairs)
Likemset(String, String, String...)
, but takes key-value pairs.
-
msetnx
void msetnx(String key, String value, String... keyValues)
From http://redis.io/commands/msetnx:
Available since 1.0.1.
Time complexity: O(N) where N is the number of keys to set.
Sets the given keys to their respective values.
MSETNX
will not perform any operation at all even if just a single key already exists.
-
msetnx
void msetnx(KeyValue<String,Object>... pairs)
Likemsetnx(String, String, String...)
, but takes key-value pairs.
-
psetex
void psetex(String key, long milliseconds, String value)
From http://redis.io/commands/psetex:
Available since 2.6.0.
Time complexity: O(1)
PSETEX
works exactly likesetex(String, long, String)
with the sole difference that the expire time is specified in milliseconds instead of seconds.
-
set
void set(String key, String value)
From http://redis.io/commands/set:
Available since 1.0.0.
Time complexity: O(1)
Set
key
to hold the stringvalue
. Ifkey
already holds a value, it is overwritten, regardless of its type. Any previous time to live associated with the key is discarded on successfulSET
operation.
-
set
void set(String key, Number value)
From http://redis.io/commands/set:
Available since 1.0.0.
Time complexity: O(1)
Set
key
to hold the stringvalue
. Ifkey
already holds a value, it is overwritten, regardless of its type. Any previous time to live associated with the key is discarded on successfulSET
operation.
-
setbit
void setbit(String key, long offset, long value)
From http://redis.io/commands/setbit:
Available since 2.2.0.
Time complexity: O(1)
Sets or clears the bit at offset in the string value stored at key.
-
setex
void setex(String key, long seconds, String value)
From http://redis.io/commands/setex:
Available since 2.0.0.
Time complexity: O(1)
Set
key
to hold the stringvalue
and setkey
to timeout after a given number of seconds. This command is equivalent to executing the following commands:
-
setnx
void setnx(String key, String value)
From http://redis.io/commands/setnx:
Available since 1.0.0.
Time complexity: O(1)
Set
key
to hold stringvalue
ifkey
does not exist. In that case, it is equal toset(String, String)
. Whenkey
already holds a value, no operation is performed.SETNX
is short for "SET if N ot e X ists".
-
setrange
void setrange(String key, long offset, String value)
From http://redis.io/commands/setrange:
Available since 2.2.0.
Time complexity: O(1), not counting the time taken to copy the new string in place. Usually, this string is very small so the amortized complexity is O(1). Otherwise, complexity is O(M) with M being the length of the value argument.
Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset.
-
strlen
void strlen(String key)
From http://redis.io/commands/strlen:
Available since 2.2.0.
Time complexity: O(1)
Returns the length of the string value stored at
key
. An error is returned whenkey
holds a non-string value.
-
hdel
void hdel(String key, String field, String... fields)
From http://redis.io/commands/hdel:
Available since 2.0.0.
Time complexity: O(N) where N is the number of fields to be removed.
Removes the specified fields from the hash stored at
key
. Specified fields that do not exist within this hash are ignored. Ifkey
does not exist, it is treated as an empty hash and this command returns0
. specified but non existing fields.
-
hexists
void hexists(String key, String field)
From http://redis.io/commands/hexists:
Available since 2.0.0.
Time complexity: O(1)
Returns if
field
is an existing field in the hash stored atkey
.
-
hget
void hget(String key, String field)
From http://redis.io/commands/hget:
Available since 2.0.0.
Time complexity: O(1)
Returns the value associated with
field
in the hash stored atkey
. whenfield
is not present in the hash orkey
does not exist.
-
hgetall
void hgetall(String key)
From http://redis.io/commands/hgetall:
Available since 2.0.0.
Time complexity: O(N) where N is the size of the hash.
Returns all fields and values of the hash stored at
key
. In the returned value, every field name is followed by its value, so the length of the reply is twice the size of the hash. list whenkey
does not exist.
-
hincrby
void hincrby(String key, String field, long increment)
From http://redis.io/commands/hincrby:
Available since 2.0.0.
Time complexity: O(1)
Increments the number stored at
field
in the hash stored atkey
byincrement
. Ifkey
does not exist, a new key holding a hash is created. Iffield
does not exist the value is set to0
before the operation is performed.
-
hincrbyfloat
void hincrbyfloat(String key, String field, double increment)
From http://redis.io/commands/hincrbyfloat:
Available since 2.6.0.
Time complexity: O(1)
Increment the specified
field
of an hash stored atkey
, and representing a floating point number, by the specifiedincrement
. If the field does not exist, it is set to0
before performing the operation.
-
hkeys
void hkeys(String key)
From http://redis.io/commands/hkeys:
Available since 2.0.0.
Time complexity: O(N) where N is the size of the hash.
Returns all field names in the hash stored at
key
.
-
hlen
void hlen(String key)
From http://redis.io/commands/hlen:
Available since 2.0.0.
Time complexity: O(1)
Returns the number of fields contained in the hash stored at
key
.
-
hmget
void hmget(String key, String field, String... fields)
From http://redis.io/commands/hmget:
Available since 2.0.0.
Time complexity: O(N) where N is the number of fields being requested.
Returns the values associated with the specified
fields
in the hash stored atkey
.
-
hmset
void hmset(String key, String field, String value, String... fieldvalues)
From http://redis.io/commands/hmset:
Available since 2.0.0.
Time complexity: O(N) where N is the number of fields being set.
Sets the specified fields to their respective values in the hash stored at
key
. This command overwrites any existing fields in the hash. Ifkey
does not exist, a new key holding a hash is created.Parameters should alternate between field, value, field, value ...
-
hset
void hset(String key, String field, String value)
From http://redis.io/commands/hset:
Available since 2.0.0.
Time complexity: O(1)
Sets
field
in the hash stored atkey
tovalue
. Ifkey
does not exist, a new key holding a hash is created. Iffield
already exists in the hash, it is overwritten.
-
hset
void hset(String key, String field, Number value)
From http://redis.io/commands/hset:
Available since 2.0.0.
Time complexity: O(1)
Sets
field
in the hash stored atkey
tovalue
. Ifkey
does not exist, a new key holding a hash is created. Iffield
already exists in the hash, it is overwritten.
-
hsetnx
void hsetnx(String key, String field, String value)
From http://redis.io/commands/hsetnx:
Available since 2.0.0.
Time complexity: O(1)
Sets
field
in the hash stored atkey
tovalue
, only iffield
does not yet exist. Ifkey
does not exist, a new key holding a hash is created. Iffield
already exists, this operation has no effect.
-
hsetnx
void hsetnx(String key, String field, Number value)
From http://redis.io/commands/hsetnx:
Available since 2.0.0.
Time complexity: O(1)
Sets
field
in the hash stored atkey
tovalue
, only iffield
does not yet exist. Ifkey
does not exist, a new key holding a hash is created. Iffield
already exists, this operation has no effect.
-
hvals
void hvals(String key)
From http://redis.io/commands/hvals:
Available since 2.0.0.
Time complexity: O(N) where N is the size of the hash.
Returns all values in the hash stored at
key
.
-
blpop
void blpop(long timeout, String key, String... keys)
From http://redis.io/commands/blpop:
Available since 2.0.0.
Time complexity: O(1)
BLPOP
is a blocking list pop primitive. It is the blocking version oflpop(String)
because it blocks the connection when there are no elements to pop from any of the given lists. An element is popped from the head of the first list that is non-empty, with the given keys being checked in the order that they are given. Atimeout
of zero can be used to block indefinitely. Timeout is in seconds.
-
brpop
void brpop(long timeout, String key, String... keys)
From http://redis.io/commands/brpop:
Available since 2.0.0.
Time complexity: O(1)
BRPOP
is a blocking list pop primitive. It is the blocking version ofrpop(java.lang.String)
because it blocks the connection when there are no elements to pop from any of the given lists. An element is popped from the tail of the first list that is non-empty, with the given keys being checked in the order that they are given. Atimeout
of zero can be used to block indefinitely. Timeout is in seconds.
-
brpoplpush
void brpoplpush(long timeout, String source, String destination)
From http://redis.io/commands/brpoplpush:
Available since 2.2.0.
Time complexity: O(1)
BRPOPLPUSH
is the blocking variant ofrpoplpush(String, String)
. Whensource
contains elements, this command behaves exactly likerpoplpush(String, String)
. Whensource
is empty, Redis will block the connection until another client pushes to it or untiltimeout
is reached. Atimeout
of zero can be used to block indefinitely. Timeout is in seconds.
-
lindex
void lindex(String key, long index)
From http://redis.io/commands/lindex:
Available since 1.0.0.
Time complexity: O(N) where N is the number of elements to traverse to get to the element at index. This makes asking for the first or the last element of the list O(1).
Returns the element at index
index
in the list stored atkey
. The index is zero-based, so0
means the first element,1
the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here,-1
means the last element,-2
means the penultimate and so forth.
-
linsert
void linsert(String key, boolean before, String pivot, String value)
From http://redis.io/commands/linsert:
Available since 2.2.0.
Time complexity: O(N) where N is the number of elements to traverse before seeing the value pivot. This means that inserting somewhere on the left end on the list (head) can be considered O(1) and inserting somewhere on the right end (tail) is O(N).
Inserts
value
in the list stored atkey
either before or after the reference valuepivot
. when the valuepivot
was not found.
-
linsert
void linsert(String key, boolean before, String pivot, Number value)
From http://redis.io/commands/linsert:
Available since 2.2.0.
Time complexity: O(N) where N is the number of elements to traverse before seeing the value pivot. This means that inserting somewhere on the left end on the list (head) can be considered O(1) and inserting somewhere on the right end (tail) is O(N).
Inserts
value
in the list stored atkey
either before or after the reference valuepivot
. when the valuepivot
was not found.
-
llen
void llen(String key)
From http://redis.io/commands/llen:
Available since 1.0.0.
Time complexity: O(1)
Returns the length of the list stored at
key
. Ifkey
does not exist, it is interpreted as an empty list and0
is returned. An error is returned when the value stored atkey
is not a list.
-
lpop
void lpop(String key)
From http://redis.io/commands/lpop:
Available since 1.0.0.
Time complexity: O(1)
Removes and returns the first element of the list stored at
key
.
-
lpush
void lpush(String key, String value, String... values)
From http://redis.io/commands/lpush:
Available since 1.0.0.
Time complexity: O(1)
Insert all the specified values at the head of the list stored at
key
. Ifkey
does not exist, it is created as empty list before performing the push operations. Whenkey
holds a value that is not a list, an error is returned.
-
lpushx
void lpushx(String key, String value)
From http://redis.io/commands/lpushx:
Available since 2.2.0.
Time complexity: O(1)
Inserts
value
at the head of the list stored atkey
, only ifkey
already exists and holds a list. In contrary tolpush(java.lang.String, java.lang.String, java.lang.String...)
, no operation will be performed whenkey
does not yet exist.
-
lrange
void lrange(String key, long start, long stop)
From http://redis.io/commands/lrange:
Available since 1.0.0.
Time complexity: O(S+N) where S is the start offset and N is the number of elements in the specified range.
Returns the specified elements of the list stored at
key
. The offsetsstart
andstop
are zero-based indexes, with0
being the first element of the list (the head of the list),1
being the next element and so on.
-
lrem
void lrem(String key, long count, String value)
From http://redis.io/commands/lrem:
Available since 1.0.0.
Time complexity: O(N) where N is the length of the list.
Removes the first
count
occurrences of elements equal tovalue
from the list stored atkey
. Thecount
argument influences the operation in the following ways:count > 0
: Remove elements equal tovalue
moving from head to tail.count < 0
: Remove elements equal tovalue
moving from tail to head.count = 0
: Remove all elements equal tovalue
.
-
lset
void lset(String key, long index, String value)
From http://redis.io/commands/lset:
Available since 1.0.0.
Time complexity: O(N) where N is the length of the list. Setting either the first or the last element of the list is O(1).
Sets the list element at
index
tovalue
. For more information on theindex
argument, seelindex(String, long)
.
-
ltrim
void ltrim(String key, long start, long stop)
From http://redis.io/commands/ltrim:
Available since 1.0.0.
Time complexity: O(N) where N is the number of elements to be removed by the operation.
Trim an existing list so that it will contain only the specified range of elements specified. Both
start
andstop
are zero-based indexes, where0
is the first element of the list (the head),1
the next element and so on.
-
rpop
void rpop(String key)
From http://redis.io/commands/rpop:
Available since 1.0.0.
Time complexity: O(1)
Removes and returns the last element of the list stored at
key
.
-
rpoplpush
void rpoplpush(String source, String destination)
From http://redis.io/commands/rpoplpush:
Available since 1.2.0.
Time complexity: O(1)
Atomically returns and removes the last element (tail) of the list stored at
source
, and pushes the element at the first element (head) of the list stored atdestination
.
-
rpush
void rpush(String key, String value, String... values)
From http://redis.io/commands/rpush:
Available since 1.0.0.
Time complexity: O(1)
Insert all the specified values at the tail of the list stored at
key
. Ifkey
does not exist, it is created as empty list before performing the push operation. Whenkey
holds a value that is not a list, an error is returned.
-
rpushx
void rpushx(String key, String value)
From http://redis.io/commands/rpushx:
Available since 2.2.0.
Time complexity: O(1)
Inserts
value
at the tail of the list stored atkey
, only ifkey
already exists and holds a list. In contrary torpush(java.lang.String, java.lang.String, java.lang.String...)
, no operation will be performed whenkey
does not yet exist.
-
sadd
void sadd(String key, String member, String... members)
From http://redis.io/commands/sadd:
Available since 1.0.0.
Time complexity: O(N) where N is the number of members to be added.
Add the specified members to the set stored at
key
. Specified members that are already a member of this set are ignored. Ifkey
does not exist, a new set is created before adding the specified members.
-
sadd
void sadd(String key, Object member, Object... members)
From http://redis.io/commands/sadd:
Available since 1.0.0.
Time complexity: O(N) where N is the number of members to be added.
Add the specified members to the set stored at
key
. Specified members that are already a member of this set are ignored. Ifkey
does not exist, a new set is created before adding the specified members.
-
scard
void scard(String key)
From http://redis.io/commands/scard:
Available since 1.0.0.
Time complexity: O(1)
Returns the set cardinality (number of elements) of the set stored at
key
.
-
sdiff
void sdiff(String key, String... keys)
From http://redis.io/commands/sdiff:
Available since 1.0.0.
Time complexity: O(N) where N is the total number of elements in all given sets.
Returns the members of the set resulting from the difference between the first set and all the successive sets.
-
sdiffstore
void sdiffstore(String destination, String key, String... keys)
From http://redis.io/commands/sdiffstore:
Available since 1.0.0.
Time complexity: O(N) where N is the total number of elements in all given sets.
This command is equal to SDIFF, but instead of returning the resulting set, it is stored in
destination
.
-
sinter
void sinter(String key, String... keys)
From http://redis.io/commands/sinter:
Available since 1.0.0.
Time complexity: O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.
Returns the members of the set resulting from the intersection of all the given sets.
-
sinterstore
void sinterstore(String destination, String key, String... keys)
From http://redis.io/commands/sinterstore:
Available since 1.0.0.
Time complexity: O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.
This command is equal to SINTER, but instead of returning the resulting set, it is stored in
destination
.
-
sismember
void sismember(String key, String member)
From http://redis.io/commands/sismember:
Available since 1.0.0.
Time complexity: O(1)
Returns if
member
is a member of the set stored atkey
.
-
sismember
void sismember(String key, Number member)
From http://redis.io/commands/sismember:
Available since 1.0.0.
Time complexity: O(1)
Returns if
member
is a member of the set stored atkey
.
-
smembers
void smembers(String key)
From http://redis.io/commands/smembers:
Available since 1.0.0.
Time complexity: O(N) where N is the set cardinality.
Returns all the members of the set value stored at
key
.
-
smove
void smove(String source, String destination, String member)
From http://redis.io/commands/smove:
Available since 1.0.0.
Time complexity: O(1)
Move
member
from the set atsource
to the set atdestination
. This operation is atomic. In every given moment the element will appear to be a member ofsource
ordestination
for other clients.
-
spop
void spop(String key)
From http://redis.io/commands/spop:
Available since 1.0.0.
Time complexity: O(1)
Removes and returns a random element from the set value stored at
key
.
-
srandmember
void srandmember(String key)
From http://redis.io/commands/srandmember:
Available since 1.0.0.
Time complexity: O(1).
When called with just the
key
argument, return a random element from the set value stored atkey
.
-
srandmember
void srandmember(String key, long count)
From http://redis.io/commands/srandmember:
Available since 1.0.0.
Time complexity: O(N) where N is the absolute value of the passed count.
When called with just the
key
argument, return a random element from the set value stored atkey
.
-
srem
void srem(String key, String member, String... members)
From http://redis.io/commands/srem:
Available since 1.0.0.
Time complexity: O(N) where N is the number of members to be removed.
Remove the specified members from the set stored at
key
. Specified members that are not a member of this set are ignored. Ifkey
does not exist, it is treated as an empty set and this command returns0
.
-
srem
void srem(String key, Object member, Object... members)
From http://redis.io/commands/srem:
Available since 1.0.0.
Time complexity: O(N) where N is the number of members to be removed.
Remove the specified members from the set stored at
key
. Specified members that are not a member of this set are ignored. Ifkey
does not exist, it is treated as an empty set and this command returns0
.
-
sunion
void sunion(String key, String... keys)
From http://redis.io/commands/sunion:
Available since 1.0.0.
Time complexity: O(N) where N is the total number of elements in all given sets.
Returns the members of the set resulting from the union of all the given sets.
-
sunionstore
void sunionstore(String destination, String key, String... keys)
From http://redis.io/commands/sunionstore:
Available since 1.0.0.
Time complexity: O(N) where N is the total number of elements in all given sets.
This command is equal to SUNION, but instead of returning the resulting set, it is stored in
destination
.
-
zadd
void zadd(String key, double score, String member)
From http://redis.io/commands/zadd:
Available since 1.2.0.
Time complexity: O(log(N)) where N is the number of elements in the sorted set.
Adds all the specified members with the specified scores to the sorted set stored at
key
. It is possible to specify multiple score/member pairs. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. Ifkey
does not exist, a new sorted set with the specified members as sole members is created, like if the sorted set was empty. If the key exists but does not hold a sorted set, an error is returned.
-
zadd
void zadd(String key, double score, Number member)
From http://redis.io/commands/zadd:
Available since 1.2.0.
Time complexity: O(log(N)) where N is the number of elements in the sorted set.
Adds all the specified members with the specified scores to the sorted set stored at
key
. It is possible to specify multiple score/member pairs. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. Ifkey
does not exist, a new sorted set with the specified members as sole members is created, like if the sorted set was empty. If the key exists but does not hold a sorted set, an error is returned.
-
zadd
void zadd(String key, KeyValue<Double,String>... pairs)
From http://redis.io/commands/zadd:
Available since 1.2.0.
Time complexity: O(log(N)) where N is the number of elements in the sorted set.
Adds all the specified members with the specified scores to the sorted set stored at
key
. It is possible to specify multiple score/member pairs. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. Ifkey
does not exist, a new sorted set with the specified members as sole members is created, like if the sorted set was empty. If the key exists but does not hold a sorted set, an error is returned.
-
zcard
void zcard(String key)
From http://redis.io/commands/zcard:
Available since 1.2.0.
Time complexity: O(1)
Returns the sorted set cardinality (number of elements) of the sorted set stored at
key
.
-
zcount
void zcount(String key, String min, String max)
From http://redis.io/commands/zcount:
Available since 2.0.0.
Time complexity: O(log(N)) with N being the number of elements in the sorted set.
Returns the number of elements in the sorted set at
key
with a score betweenmin
andmax
.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zcount
void zcount(String key, double min, double max)
Likezcount(String, String, String)
, except it accepts doubles for min and max, not strings.
-
zincrby
void zincrby(String key, double increment, String member)
From http://redis.io/commands/zincrby:
Available since 1.2.0.
Time complexity: O(log(N)) where N is the number of elements in the sorted set.
Increments the score of
member
in the sorted set stored atkey
byincrement
. Ifmember
does not exist in the sorted set, it is added withincrement
as its score (as if its previous score was0.0
). Ifkey
does not exist, a new sorted set with the specifiedmember
as its sole member is created.
-
zrange
void zrange(String key, long start, long stop, boolean withScores)
From http://redis.io/commands/zrange:
Available since 1.2.0.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.
Returns the specified range of elements in the sorted set stored at
key
. The elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
-
zrangebyscore
void zrangebyscore(String key, String min, String max, boolean withScores, Long limitOffset, Long limitCount)
From http://redis.io/commands/zrangebyscore:
Available since 1.0.5.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with LIMIT), you can consider it O(log(N)).
Returns all the elements in the sorted set at
key
with a score betweenmin
andmax
(including elements with score equal tomin
ormax
). The elements are considered to be ordered from low to high scores.The optional
LIMIT
argument can be used to only get a range of the matching elements (similar to SELECT LIMIT offset, count in SQL). Keep in mind that ifoffset
is large, the sorted set needs to be traversed foroffset
elements before getting to the elements to return, which can add up to O(N) time complexity.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zrangebyscore
void zrangebyscore(String key, double min, double max, boolean withScores)
Likezrangebyscore(String, String, String, boolean)
, except it accepts doubles for min and max, not strings.
-
zrangebyscore
void zrangebyscore(String key, String min, String max, boolean withScores)
Likezrangebyscore(String, String, String, boolean, Long, Long)
, except specifies no limit.
-
zrangebyscore
void zrangebyscore(String key, double min, double max, boolean withScores, Long limitOffset, Long limitCount)
Likezrangebyscore(String, String, String, boolean, Long, Long)
, except it accepts doubles for min and max, not strings.
-
zrank
void zrank(String key, String member)
From http://redis.io/commands/zrank:
Available since 2.0.0.
Time complexity: O(log(N))
Returns the rank of
member
in the sorted set stored atkey
, with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank0
. Ifmember
does not exist in the sorted set orkey
does not exist,null
.
-
zrank
void zrank(String key, Number member)
From http://redis.io/commands/zrank:
Available since 2.0.0.
Time complexity: O(log(N))
Returns the rank of
member
in the sorted set stored atkey
, with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank0
. Ifmember
does not exist in the sorted set orkey
does not exist,null
.
-
zrem
void zrem(String key, String member, String... members)
From http://redis.io/commands/zrem:
Available since 1.2.0.
Time complexity: O(M*log(N)) with N being the number of elements in the sorted set and M the number of elements to be removed.
Removes the specified members from the sorted set stored at
key
. Non existing members are ignored.
-
zrem
void zrem(String key, Number member, Number... members)
From http://redis.io/commands/zrem:
Available since 1.2.0.
Time complexity: O(M*log(N)) with N being the number of elements in the sorted set and M the number of elements to be removed.
Removes the specified members from the sorted set stored at
key
. Non existing members are ignored.
-
zremrangebyrank
void zremrangebyrank(String key, long start, long stop)
From http://redis.io/commands/zremrangebyrank:
Available since 2.0.0.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.
Removes all elements in the sorted set stored at
key
with rank betweenstart
andstop
. Bothstart
andstop
are0
-based indexes with0
being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example:-1
is the element with the highest score,-2
the element with the second highest score and so forth.
-
zremrangebyscore
void zremrangebyscore(String key, String min, String max)
From http://redis.io/commands/zremrangebyscore:
Available since 1.2.0.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.
Removes all elements in the sorted set stored at
key
with a score betweenmin
andmax
(inclusive).The arguments
min
andmax
are Strings so they can accept special ranges.
-
zremrangebyscore
void zremrangebyscore(String key, double min, double max)
Likezremrangebyscore(String, String, String)
, except it accepts doubles for min and max, not strings.
-
zrevrank
void zrevrank(String key, String member)
From http://redis.io/commands/zrevrank:
Available since 2.0.0.
Time complexity: O(log(N))
Returns the rank of
member
in the sorted set stored atkey
, with the scores ordered from high to low. The rank (or index) is 0-based, which means that the member with the highest score has rank0
. Ifmember
does not exist in the sorted set orkey
does not exist,null
.
-
zrevrange
void zrevrange(String key, long start, long stop, boolean withScores)
From http://redis.io/commands/zrevrange:
Available since 1.2.0.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.
Returns the specified range of elements in the sorted set stored at
key
. The elements are considered to be ordered from the highest to the lowest score. Descending lexicographical order is used for elements with equal score.
-
zrevrangebyscore
void zrevrangebyscore(String key, String min, String max, boolean withScores, Long limitOffset, Long limitCount)
From http://redis.io/commands/zrevrangebyscore:
Available since 2.2.0.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.
Returns all the elements in the sorted set at key with a score between
max
andmin
(including elements with score equal to max or min). In contrary to the default ordering of sorted sets, for this command the elements are considered to be ordered from high to low scores.The optional
LIMIT
argument can be used to only get a range of the matching elements (similar to SELECT LIMIT offset, count in SQL). Keep in mind that ifoffset
is large, the sorted set needs to be traversed foroffset
elements before getting to the elements to return, which can add up to O(N) time complexity.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zrevrangebyscore
void zrevrangebyscore(String key, double min, double max, boolean withScores)
Likezrevrangebyscore(String, String, String, boolean)
, except it accepts doubles for min and max, not strings.
-
zrevrangebyscore
void zrevrangebyscore(String key, String min, String max, boolean withScores)
Likezrevrangebyscore(String, String, String, boolean, Long, Long)
, except specifies no limit.
-
zrevrangebyscore
void zrevrangebyscore(String key, double min, double max, boolean withScores, Long limitOffset, Long limitCount)
Likezrevrangebyscore(String, String, String, boolean, Long, Long)
, except it accepts doubles for min and max, not strings.
-
zscore
void zscore(String key, String member)
From http://redis.io/commands/zscore:
Available since 1.2.0.
Time complexity: O(1)
Returns the score of
member
in the sorted set atkey
.
-
zinterstore
void zinterstore(String destination, double[] weights, Aggregation aggregation, String key, String... keys)
From http://redis.io/commands/zinterstore:
Available since 2.0.0.
Time complexity: O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.
Computes the intersection of
numkeys
sorted sets given by the specified keys, and stores the result indestination
. It is mandatory to provide the number of input keys (numkeys
) before passing the input keys and the other (optional) arguments.
-
zunionstore
void zunionstore(String destination, double[] weights, Aggregation aggregation, String key, String... keys)
From http://redis.io/commands/zunionstore:
Available since 2.0.0.
Time complexity: O(N)+O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set.
Computes the union of
numkeys
sorted sets given by the specified keys, and stores the result indestination
. It is mandatory to provide the number of input keys (numkeys
) before passing the input keys and the other (optional) arguments.
-
zlexcount
void zlexcount(String key, String min, String max)
From http://redis.io/commands/zlexcount:
Available since 2.8.9.
Time complexity: O(log(N)) with N being the number of elements in the sorted set.
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at
key
with a value betweenmin
andmax
.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zrangebylex
void zrangebylex(String key, String min, String max, Long limitOffset, Long limitCount)
From http://redis.io/commands/zrangebylex:
Available since 2.8.9.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with LIMIT), you can consider it O(log(N)).
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at
key
with a value betweenmin
andmax
.The optional
LIMIT
argument can be used to only get a range of the matching elements (similar to SELECT LIMIT offset, count in SQL). Keep in mind that ifoffset
is large, the sorted set needs to be traversed foroffset
elements before getting to the elements to return, which can add up to O(N) time complexity.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zremrangebylex
void zremrangebylex(String key, String min, String max)
From http://redis.io/commands/zremrangebylex:
Available since 2.8.9.
Time complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at
key
between the lexicographical range specified bymin
andmax
.The arguments
min
andmax
are Strings so they can accept special ranges.
-
zinterstore
void zinterstore(String destination, Aggregation aggregation, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores.Equivalent to:
zinterstore(destination, null, aggregation, key, keys)
-
zinterstore
void zinterstore(String destination, double[] weights, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except it does no aggregation of scores.Equivalent to:
zinterstore(destination, weights, null, key, keys)
-
zinterstore
void zinterstore(String destination, String key, String... keys)
Likezinterstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores, and does no aggregation of scores.Equivalent to:
zinterstore(destination, null, null, key, keys)
-
zunionstore
void zunionstore(String destination, Aggregation aggregation, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores.Equivalent to:
zunionstore(destination, null, aggregation, key, keys)
-
zunionstore
void zunionstore(String destination, double[] weights, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except it does no aggregation of scores.Equivalent to:
zunionstore(destination, weights, null, key, keys)
-
zunionstore
void zunionstore(String destination, String key, String... keys)
Likezunionstore(String, double[], Aggregation, String, String...)
, except no weights are applied to the source value scores, and does no aggregation of scores.Equivalent to:
zunionstore(destination, null, null, key, keys)
-
zlexcount
void zlexcount(String key, double min, double max)
Likezlexcount(String, String, String)
, except it accepts doubles for min and max, not strings.
-
zrangebylex
void zrangebylex(String key, double min, double max, Long limitOffset, Long limitCount)
Likezrangebylex(String, String, String, Long, Long)
, except it accepts doubles for min and max, not strings.
-
zrangebylex
void zrangebylex(String key, String min, String max)
Likezrangebylex(String, String, String, Long, Long)
, with no limit.
-
zrangebylex
void zrangebylex(String key, double min, double max)
Likezrangebylex(String, String, String)
, except it accepts doubles for min and max, not strings, with no limit.
-
zremrangebylex
void zremrangebylex(String key, double min, double max)
Likezrangebylex(String, String, String)
, except it accepts doubles for min and max.
-
eval
void eval(String scriptContent, String[] keys, Object... args)
From http://redis.io/commands/eval:
Available since 2.6.0.
Time complexity: Depends on the script that is executed.
Evaluates a Lua script. The keys specified in
keys
should be used as a hint for Redis as to what keys are touched during the script call.
-
evalsha
void evalsha(String hash, String[] keys, Object... args)
From http://redis.io/commands/evalsha:
Available since 2.6.0.
Time complexity: Depends on the script that is executed.
Evaluates a script cached on the server side by its SHA1 digest. Scripts are cached on the server side using the
scriptLoad(String)
command. The command is otherwise identical toeval(String, String[], Object...)
.
-
scriptExists
void scriptExists(String scriptHash, String... scriptHashes)
From http://redis.io/commands/script-exists:
Available since 2.6.0.
Time complexity: O(N) with N being the number of scripts to check (so checking a single script is an O(1) operation).
Returns information about the existence of the scripts in the script cache. SHA1 digest arguments. For every corresponding SHA1 digest of a script that actually exists in the script cache, true is returned, otherwise false is returned.
-
scriptFlush
void scriptFlush()
From http://redis.io/commands/script-flush:
Available since 2.6.0.
Time complexity: O(N) with N being the number of scripts in cache
Flush the Lua scripts cache.
-
scriptKill
void scriptKill(String hash)
From http://redis.io/commands/script-kill:
Available since 2.6.0.
Time complexity: O(1)
Kills the currently executing Lua script, assuming no write operation was yet performed by the script.
-
scriptLoad
void scriptLoad(String content)
From http://redis.io/commands/script-load:
Available since 2.6.0.
Time complexity: O(N) with N being the length in bytes of the script body.
Load a script into the scripts cache, without executing it. After the specified command is loaded into the script cache it will be callable using
evalsha(String, String[], Object...)
with the correct SHA1 digest of the script, exactly like after the first successful invocation ofeval(String, String[], Object...)
.
-
scriptLoad
void scriptLoad(File content) throws IOException
From http://redis.io/commands/script-load:
Available since 2.6.0.
Time complexity: O(N) with N being the length in bytes of the script body.
Load a script into the scripts cache from the specified file without executing it. After the specified command is loaded into the script cache it will be callable using
evalsha(String, String[], Object...)
with the correct SHA1 digest of the script, exactly like after the first successful invocation ofeval(String, String[], Object...)
.- Throws:
IOException
-
scriptLoad
void scriptLoad(InputStream content) throws IOException
From http://redis.io/commands/script-load:
Available since 2.6.0.
Time complexity: O(N) with N being the length in bytes of the script body.
Load a script into the scripts cache from the specified input stream (until the end is reached) without executing it. The stream is not closed after read. After the specified command is loaded into the script cache it will be callable using
evalsha(String, String[], Object...)
with the correct SHA1 digest of the script, exactly like after the first successful invocation ofeval(String, String[], Object...)
.- Throws:
IOException
-
-