public interface JRedisFuture
This is effectively a one to one mapping to Redis commands. Depending on the implementation
either the redis response and/or redis write are asynchronous. Regardless, each method returns
an extension of Future
and the returned results conforms to the contract of that interface (which
you should review).
If your request results in a RedisException
, the call to Future.get()
(of either flavor)
will raise a ExecutionException
with Throwable.getCause()
returning the underlying
RedisException
.
Similarly, if the request results in either ClientRuntimeException
or ProviderException
, the
Future
's ExecutionException
will wrap these as the cause.
Beyond that , just be aware that an implementation may throw ClientRuntimeException
or an extension to report problems (typically connectivity) or ProviderException
(to highlight implementation features/bugs).
These are RuntimeException
that have been encountered while trying to queue your request.
Note that this interface provides no guarantees whatsoever regarding the execution of your requests beyond
the strict ordering of the requests per your invocations. Specifically, in the event of connection issues, this
interface's contract does not place any requirements on the implementation beyond to notify the user of such issues
either during a call to this interface, or, on the attempt to get the result of a pending response on Future.get()
.
Refer to the documentation of the implementation of JRedisFuture
for the specifics of behavior in context of
errors.
Modifier and Type | Method and Description |
---|---|
<K> Future<Long> |
append(K key,
byte[] value) |
<K> Future<Long> |
append(K key,
Number numberValue) |
<K> Future<Long> |
append(K key,
String stringValue) |
<K,T extends Serializable> |
append(K key,
T object) |
<K> Future<String> |
bgrewriteaof() |
<K> Future<ResponseStatus> |
bgsave() |
<K> Future<Long> |
dbsize() |
<K> Future<ObjectInfo> |
debug(K key) |
<K> Future<Long> |
decr(K key) |
<K> Future<Long> |
decrby(K key,
int delta) |
<K> Future<Long> |
del(K... keys) |
<K> Future<byte[]> |
echo(byte[] msg) |
<K> Future<byte[]> |
echo(Number msg) |
<K> Future<byte[]> |
echo(String msg) |
<K,T extends Serializable> |
echo(T msg) |
<K> Future<Boolean> |
exists(K key) |
<K> Future<Boolean> |
expire(K key,
int ttlseconds) |
<K> Future<Boolean> |
expireat(K key,
long epochtimeMillisecs) |
Future<ResponseStatus> |
flush()
Optional connection control command.
|
<K> Future<ResponseStatus> |
flushall()
Flushes all dbs in the connect Redis server, regardless of which db was selected
on connect time.
|
<K> Future<ResponseStatus> |
flushdb()
Flushes the db you selected when connecting to Redis server.
|
<K> Future<byte[]> |
get(K key) |
<K> Future<Boolean> |
getbit(K key,
int offset) |
<K> Future<byte[]> |
getset(K key,
byte[] value) |
<K> Future<byte[]> |
getset(K key,
Number numberValue) |
<K> Future<byte[]> |
getset(K key,
String stringValue) |
<K,T extends Serializable> |
getset(K key,
T object) |
<K> Future<Boolean> |
hdel(K key,
K entry) |
<K> Future<Boolean> |
hexists(K key,
K entry) |
<K> Future<byte[]> |
hget(K key,
K entry) |
<K> Future<Map<byte[],byte[]>> |
hgetall(K key) |
<K> Future<Long> |
hincrby(K key,
K entry,
long increment) |
<K> Future<List<byte[]>> |
hkeys(K key) |
<K> Future<Long> |
hlen(K key) |
<K> Future<Boolean> |
hset(K key,
K entry,
byte[] value) |
<K> Future<Boolean> |
hset(K key,
K entry,
Number number) |
<K> Future<Boolean> |
hset(K key,
K entry,
String string) |
<K,T extends Serializable> |
hset(K key,
K entry,
T object) |
<K> Future<List<byte[]>> |
hvals(K key) |
<K> Future<Long> |
incr(K key) |
<K> Future<Long> |
incrby(K key,
int delta) |
<K> Future<Map<String,String>> |
info() |
<K> Future<List<byte[]>> |
keys()
Convenience method.
|
<K> Future<List<byte[]>> |
keys(K pattern) |
<K> Future<Long> |
lastsave() |
<K> Future<byte[]> |
lindex(K listkey,
long index) |
<K> Future<Long> |
llen(K listkey)
Given a 'list' key, returns the number of items in the list.
|
<K> Future<byte[]> |
lpop(K listkey) |
<K> Future<Long> |
lpush(K listkey,
byte[] value) |
<K> Future<Long> |
lpush(K listkey,
Number numberValue) |
<K> Future<Long> |
lpush(K listkey,
String stringValue) |
<K,T extends Serializable> |
lpush(K listkey,
T object) |
<K> Future<List<byte[]>> |
lrange(K listkey,
long from,
long to) |
<K> Future<Long> |
lrem(K listkey,
byte[] value,
int count) |
<K> Future<Long> |
lrem(K listkey,
Number numberValue,
int count) |
<K> Future<Long> |
lrem(K listkey,
String stringValue,
int count) |
<K,T extends Serializable> |
lrem(K listkey,
T object,
int count) |
<K> Future<ResponseStatus> |
lset(K key,
long index,
byte[] value) |
<K> Future<ResponseStatus> |
lset(K key,
long index,
Number numberValue) |
<K> Future<ResponseStatus> |
lset(K key,
long index,
String stringValue) |
<K,T extends Serializable> |
lset(K key,
long index,
T object) |
<K> Future<ResponseStatus> |
ltrim(K listkey,
long keepFrom,
long keepTo) |
<K> Future<List<byte[]>> |
mget(String... keys) |
<K> Future<Boolean> |
move(K key,
int dbIndex)
Moves the given key from the currently selected db to the one indicated
by
dbIndex . |
<K> Future<ResponseStatus> |
mset(KeyValueSet.ByteArrays<K> mappings) |
<K> Future<ResponseStatus> |
mset(KeyValueSet.Numbers<K> mappings) |
<K,T extends Serializable> |
mset(KeyValueSet.Objects<K,T> mappings) |
<K> Future<ResponseStatus> |
mset(KeyValueSet.Strings<K> mappings) |
<K> Future<ResponseStatus> |
mset(Map<K,byte[]> keyValueMap) |
<K> Future<Boolean> |
msetnx(KeyValueSet.ByteArrays<K> mappings) |
<K> Future<Boolean> |
msetnx(KeyValueSet.Numbers<K> mappings) |
<K,T extends Serializable> |
msetnx(KeyValueSet.Objects<K,T> mappings) |
<K> Future<Boolean> |
msetnx(KeyValueSet.Strings<K> mappings) |
<K> Future<Boolean> |
msetnx(Map<K,byte[]> keyValueMap) |
<K> Future<ResponseStatus> |
ping()
Ping redis
|
<K> Future<ResponseStatus> |
quit()
Disconnects the client.
|
<K> Future<byte[]> |
randomkey() |
<K> Future<ResponseStatus> |
rename(K oldkey,
K newkey) |
<K> Future<Boolean> |
renamenx(K oldkey,
K brandnewkey) |
<K> Future<byte[]> |
rpop(K listkey) |
<K> Future<byte[]> |
rpoplpush(String srcList,
String destList) |
<K> Future<Long> |
rpush(K listkey,
byte[] value) |
<K> Future<Long> |
rpush(K listkey,
Number numberValue) |
<K> Future<Long> |
rpush(K listkey,
String stringValue) |
<K,T extends Serializable> |
rpush(K listkey,
T object) |
<K> Future<Boolean> |
sadd(K setkey,
byte[] member) |
<K> Future<Boolean> |
sadd(K setkey,
Number numberValue) |
<K> Future<Boolean> |
sadd(K setkey,
String stringValue) |
<K,T extends Serializable> |
sadd(K setkey,
T object) |
<K> Future<ResponseStatus> |
save() |
<K> Future<Long> |
scard(K setKey) |
<K> Future<List<byte[]>> |
sdiff(K set1,
K... sets) |
<K> Future<ResponseStatus> |
sdiffstore(K destSetKey,
K... sets) |
<K> Future<ResponseStatus> |
set(K key,
byte[] value)
Bind the value to key.
|
<K> Future<ResponseStatus> |
set(K key,
Number numberValue)
Convenient method for
String numeric values binding |
<K> Future<ResponseStatus> |
set(K key,
String stringValue)
Convenient method for
String data binding |
<K,T extends Serializable> |
set(K key,
T object)
Binds the given java
Object to the key. |
<K> Future<Boolean> |
setbit(K key,
int offset,
boolean value) |
<K> Future<Boolean> |
setnx(K key,
byte[] value) |
<K> Future<Boolean> |
setnx(K key,
Number numberValue) |
<K> Future<Boolean> |
setnx(K key,
String stringValue) |
<K,T extends Serializable> |
setnx(K key,
T object) |
<K> Future<List<byte[]>> |
sinter(K set1,
K... sets) |
<K> Future<ResponseStatus> |
sinterstore(K destSetKey,
K... sets) |
<K> Future<Boolean> |
sismember(K setkey,
byte[] member) |
<K> Future<Boolean> |
sismember(K setkey,
Number numberValue) |
<K> Future<Boolean> |
sismember(K setkey,
String stringValue) |
<K,T extends Serializable> |
sismember(K setkey,
T object) |
<K> Future<ResponseStatus> |
slaveof(String host,
int port) |
<K> Future<ResponseStatus> |
slaveofnone()
Convenience method.
|
<K> Future<List<byte[]>> |
smembers(K setkey) |
<K> Future<Boolean> |
smove(K srcKey,
K destKey,
byte[] member) |
<K> Future<Boolean> |
smove(K srcKey,
K destKey,
Number numberValue) |
<K> Future<Boolean> |
smove(K srcKey,
K destKey,
String stringValue) |
<K,T extends Serializable> |
smove(K srcKey,
K destKey,
T object) |
<K> Sort |
sort(K key)
For Usage details regarding sort semantics, see
JRedis.sort(K) . |
<K> Future<byte[]> |
spop(K setkey) |
<K> Future<byte[]> |
srandmember(K setkey) |
<K> Future<Boolean> |
srem(K setkey,
byte[] member) |
<K> Future<Boolean> |
srem(K setkey,
Number numberValue) |
<K> Future<Boolean> |
srem(K setkey,
String stringValue) |
<K,T extends Serializable> |
srem(K setkey,
T object) |
<K> Future<byte[]> |
substr(K listkey,
long from,
long to) |
<K> Future<List<byte[]>> |
sunion(K set1,
K... sets) |
<K> Future<ResponseStatus> |
sunionstore(K destSetKey,
K... sets) |
<K> Future<Long> |
ttl(K key) |
<K> Future<RedisType> |
type(K key) |
<K> Future<Boolean> |
zadd(K setkey,
double score,
byte[] member) |
<K> Future<Boolean> |
zadd(K setkey,
double score,
Number numberValue) |
<K> Future<Boolean> |
zadd(K setkey,
double score,
String stringValue) |
<K,T extends Serializable> |
zadd(K setkey,
double score,
T object) |
<K> Future<Long> |
zcard(K setKey) |
<K> Future<Long> |
zcount(K setkey,
double minScore,
double maxScore) |
<K> Future<Double> |
zincrby(K setkey,
double score,
byte[] member) |
<K> Future<Double> |
zincrby(K setkey,
double score,
Number numberValue) |
<K> Future<Double> |
zincrby(K setkey,
double score,
String stringValue) |
<K,T extends Serializable> |
zincrby(K setkey,
double score,
T object) |
<K> Future<List<byte[]>> |
zrange(K setkey,
long from,
long to) |
<K> Future<List<byte[]>> |
zrangebyscore(K setkey,
double minScore,
double maxScore) |
<K> Future<List<ZSetEntry>> |
zrangebyscoreSubset(K setkey,
double minScore,
double maxScore) |
<K> Future<List<ZSetEntry>> |
zrangeSubset(K setkey,
long from,
long to)
Equivalent to
JRedis#zrange(String, long, long) with the Command.Option#WITHSCORES . |
<K> Future<Long> |
zrank(K setkey,
byte[] member) |
<K> Future<Long> |
zrank(K setkey,
Number numberValue) |
<K> Future<Long> |
zrank(K setkey,
String stringValue) |
<K,T extends Serializable> |
zrank(K setkey,
T object) |
<K> Future<Boolean> |
zrem(K setkey,
byte[] member) |
<K> Future<Boolean> |
zrem(K setkey,
Number numberValue) |
<K> Future<Boolean> |
zrem(K setkey,
String stringValue) |
<K,T extends Serializable> |
zrem(K setkey,
T object) |
<K> Future<Long> |
zremrangebyrank(K setkey,
long minRank,
long maxRank) |
<K> Future<Long> |
zremrangebyscore(K setkey,
double minScore,
double maxScore) |
<K> Future<List<byte[]>> |
zrevrange(K setkey,
long from,
long to) |
<K> Future<List<ZSetEntry>> |
zrevrangeSubset(K setkey,
long from,
long to)
Equivalent to
JRedis#zrange(String, long, long) with the Command.Option#WITHSCORES . |
<K> Future<Long> |
zrevrank(K setkey,
byte[] member) |
<K> Future<Long> |
zrevrank(K setkey,
Number numberValue) |
<K> Future<Long> |
zrevrank(K setkey,
String stringValue) |
<K,T extends Serializable> |
zrevrank(K setkey,
T object) |
<K> Future<Double> |
zscore(K setkey,
byte[] member) |
<K> Future<Double> |
zscore(K setkey,
Number numberValue) |
<K> Future<Double> |
zscore(K setkey,
String stringValue) |
<K,T extends Serializable> |
zscore(K setkey,
T object) |
<K> Future<ResponseStatus> ping()
<K> Future<ResponseStatus> quit()
Future<ResponseStatus> flush()
K
- <K> Future<ResponseStatus> set(K key, byte[] value)
key
- any UTF-8 String
value
- any bytes. For current data size limitations, refer to
Redis documentation.ProviderException
- on un-documented features/bugClientRuntimeException
- on errors due to operating environment (Redis or network)<K> Future<ResponseStatus> set(K key, String stringValue)
String
data bindingkey
- stringValue
- JRedis#set(String, byte[])}
<K> Future<ResponseStatus> set(K key, Number numberValue)
String
numeric values bindingkey
- numberValue
- JRedis#set(String, byte[])}
<K,T extends Serializable> Future<ResponseStatus> set(K key, T object)
Object
to the key. Serialization format is
implementation specific. Simple implementations may apply the basic Serializable
protocol.T
- key
- object
- JRedis#set(String, byte[])}
<K,T extends Serializable> Future<Boolean> setnx(K key, T object)
<K> Future<byte[]> get(K key)
key
- <K> Future<byte[]> getset(K key, byte[] value)
<K,T extends Serializable> Future<byte[]> getset(K key, T object)
<K> Future<ResponseStatus> mset(Map<K,byte[]> keyValueMap)
keyValueMap
- a Map
ping of String
key names to byte[] values.RedisException
<K> Future<ResponseStatus> mset(KeyValueSet.ByteArrays<K> mappings)
<K> Future<ResponseStatus> mset(KeyValueSet.Strings<K> mappings)
<K> Future<ResponseStatus> mset(KeyValueSet.Numbers<K> mappings)
<K,T extends Serializable> Future<ResponseStatus> mset(KeyValueSet.Objects<K,T> mappings)
<K> Future<Boolean> msetnx(Map<K,byte[]> keyValueMap)
keyValueMap
- a Map
ping of String
key names to byte[] values.RedisException
<K> Future<Boolean> msetnx(KeyValueSet.ByteArrays<K> mappings)
<K> Future<Boolean> msetnx(KeyValueSet.Strings<K> mappings)
<K> Future<Boolean> msetnx(KeyValueSet.Numbers<K> mappings)
<K,T extends Serializable> Future<Boolean> msetnx(KeyValueSet.Objects<K,T> mappings)
<K> Future<byte[]> substr(K listkey, long from, long to)
listkey
- from
- to
- <K> Future<Long> append(K key, byte[] value)
key
- value
- <K,T extends Serializable> Future<Long> append(K key, T object)
<K> Future<Long> del(K... keys)
keys
- one or more, non-null, non-zero-length, keys to be deleted<K> Future<List<byte[]>> keys()
jredis.keys("*");
JRedis#keys(String)}
<K> Future<byte[]> randomkey()
<K> Future<ResponseStatus> rename(K oldkey, K newkey)
oldkey
- newkey
- <K> Future<Boolean> renamenx(K oldkey, K brandnewkey)
oldkey
- brandnewkey
- <K> Future<Boolean> expireat(K key, long epochtimeMillisecs)
key
- UNIX
- epoch-time in milliseconds. Note that Redis expects epochtime
in seconds. Implementations are responsible for converting to seconds.
methodSystem#currentTimeMillis()}
<K,T extends Serializable> Future<Long> rpush(K listkey, T object)
<K,T extends Serializable> Future<Long> lpush(K listkey, T object)
<K> Future<ResponseStatus> lset(K key, long index, byte[] value)
key
- index
- value
- <K> Future<ResponseStatus> lset(K key, long index, String stringValue)
<K> Future<ResponseStatus> lset(K key, long index, Number numberValue)
<K,T extends Serializable> Future<ResponseStatus> lset(K key, long index, T object)
<K> Future<Long> lrem(K listkey, byte[] value, int count)
listKey
- value
- count
- <K,T extends Serializable> Future<Long> lrem(K listkey, T object, int count)
<K> Future<Long> llen(K listkey)
listkey
- <K> Future<List<byte[]>> lrange(K listkey, long from, long to)
listkey
- from
- to
- <K> Future<ResponseStatus> ltrim(K listkey, long keepFrom, long keepTo)
listkey
- keepFrom
- keepTo
- <K> Future<byte[]> lindex(K listkey, long index)
listkey
- index
- <K> Future<byte[]> lpop(K listkey)
listKey
- <K> Future<byte[]> rpop(K listkey)
listKey
- <K> Future<byte[]> rpoplpush(String srcList, String destList)
srcList
- destList
- <K,T extends Serializable> Future<Boolean> sadd(K setkey, T object)
<K,T extends Serializable> Future<Boolean> srem(K setkey, T object)
<K> Future<Boolean> sismember(K setkey, byte[] member)
setKey
- member
- <K,T extends Serializable> Future<Boolean> sismember(K setkey, T object)
<K> Future<Boolean> smove(K srcKey, K destKey, byte[] member)
srcKey
- destKey
- member
- <K,T extends Serializable> Future<Boolean> smove(K srcKey, K destKey, T object)
<K> Future<ResponseStatus> sinterstore(K destSetKey, K... sets)
destSetKey
- sets
- <K> Future<ResponseStatus> sunionstore(K destSetKey, K... sets)
destSetKey
- sets
- <K> Future<ResponseStatus> sdiffstore(K destSetKey, K... sets)
destSetKey
- sets
- <K> Future<byte[]> srandmember(K setkey)
setkey
- <K> Future<byte[]> spop(K setkey)
setkey
- <K> Future<Boolean> zadd(K setkey, double score, byte[] member)
setkey
- score
- member
- <K,T extends Serializable> Future<Boolean> zadd(K setkey, double score, T object)
<K,T extends Serializable> Future<Boolean> zrem(K setkey, T object)
<K,T extends Serializable> Future<Double> zscore(K setkey, T object)
<K,T extends Serializable> Future<Long> zrank(K setkey, T object)
<K,T extends Serializable> Future<Long> zrevrank(K setkey, T object)
<K> Future<List<byte[]>> zrange(K setkey, long from, long to)
setkey
- from
- to
- <K> Future<List<byte[]>> zrevrange(K setkey, long from, long to)
setkey
- from
- to
- <K> Future<List<ZSetEntry>> zrangeSubset(K setkey, long from, long to)
JRedis#zrange(String, long, long)
with the Command.Option#WITHSCORES
.
Unlike the general ZRANGE command that only returns the values, this method returns both
values and associated scores for the specified range.setkey
- from
- to
- JRedis#zrange(String, long, long)
,
ZSetEntry
<K> Future<List<ZSetEntry>> zrevrangeSubset(K setkey, long from, long to)
JRedis#zrange(String, long, long)
with the Command.Option#WITHSCORES
.
Unlike the general ZRANGE command that only returns the values, this method returns both
values and associated scores for the specified range.setkey
- from
- to
- JRedis#zrevrange(String, long, long)
,
ZSetEntry
<K> Future<Double> zincrby(K setkey, double score, byte[] member)
setkey
- score
- member
- <K,T extends Serializable> Future<Double> zincrby(K setkey, double score, T object)
<K> Future<List<byte[]>> zrangebyscore(K setkey, double minScore, double maxScore)
setkey
- from
- to
- <K> Future<List<ZSetEntry>> zrangebyscoreSubset(K setkey, double minScore, double maxScore)
setkey
- minScore
- maxScore
- <K> Future<Long> zremrangebyscore(K setkey, double minScore, double maxScore)
setkey
- from
- to
- <K> Future<Long> zcount(K setkey, double minScore, double maxScore)
setkey
- minScore
- maxScore
- <K> Future<Long> zremrangebyrank(K setkey, long minRank, long maxRank)
setkey
- from
- to
- <K> Future<Boolean> hset(K key, K entry, byte[] value)
key
- field
- value
- <K> Future<Boolean> hset(K key, K entry, String string)
key
- field
- string
- <K> Future<Boolean> hset(K key, K entry, Number number)
key
- field
- number
- <K,T extends Serializable> Future<Boolean> hset(K key, K entry, T object)
T
- key
- field
- object
- <K> Future<byte[]> hget(K key, K entry)
key
- field
- <K> Future<Long> hincrby(K key, K entry, long increment)
key
- entry
- increment
- <K> Future<Boolean> hexists(K key, K entry)
key
- field
- <K> Future<Boolean> hdel(K key, K entry)
key
- field
- <K> Future<Long> hlen(K key)
key
- field
- <K> Future<List<byte[]>> hkeys(K key)
key
- RedisException
<K> Future<List<byte[]>> hvals(K key)
key
- RedisException
<K> Future<Map<byte[],byte[]>> hgetall(K key)
key
- RedisException
<K> Future<ResponseStatus> flushdb()
<K> Future<ResponseStatus> flushall()
<K> Future<Boolean> move(K key, int dbIndex)
dbIndex
.key
- dbIndex
- <K> Sort sort(K key)
For Usage details regarding sort semantics, see JRedis.sort(K)
. The
only difference in usage is that you must use the Query.execAsync()
method
which returns a Future
instances.
Usage:
Future
> futureResults = redis.sort("my-list-or-set-key").BY("weight*").LIMIT(1, 11).GET("object*").DESC().ALPHA().execAsync();
List
<K> Future<ResponseStatus> save()
<K> Future<ResponseStatus> bgsave()
<K> Future<ResponseStatus> slaveof(String host, int port)
host
- ip addressport
- <K> Future<ResponseStatus> slaveofnone()
<K> Future<byte[]> echo(byte[] msg)
msg
- <K,T extends Serializable> Future<byte[]> echo(T msg)
<K> Future<ObjectInfo> debug(K key)
key
- Copyright © 2009–2019. All rights reserved.