Interface RedisKeyCommands
- All Known Subinterfaces:
 DefaultedRedisClusterConnection,DefaultedRedisConnection,RedisClusterConnection,RedisCommands,RedisConnection,RedisConnectionUtils.RedisConnectionProxy,StringRedisConnection
- All Known Implementing Classes:
 AbstractRedisConnection,DefaultStringRedisConnection,JedisClusterConnection,JedisConnection,LettuceClusterConnection,LettuceConnection
public interface RedisKeyCommands
Key-specific commands supported by Redis.
- Author:
 - Costin Leau, Christoph Strobl, Mark Paluch, ihaohong
 
- 
Method Summary
Modifier and TypeMethodDescriptiondefault BooleanapplyExpiration(byte[] key, Expiration expiration, ExpirationOptions options) copy(byte[] sourceKey, byte[] targetKey, boolean replace) Copy givensourceKeytotargetKey.del(byte[]... keys) Delete givenkeys.byte[]dump(byte[] key) Retrieve serialized version of the value stored atkey.encodingOf(byte[] key) Get the type of internal representation used for storing the value at the givenkey.default Booleanexists(byte[] key) Determine if givenkeyexists.exists(byte[]... keys) Count how many of the givenkeysexist.default Booleanexpire(byte[] key, long seconds) Set time to live for givenkeyin seconds.expire(byte[] key, long seconds, ExpirationOptions.Condition condition) Set time to live for givenkeyin seconds.default BooleanSet time to live for givenkeyusingsecondsprecision.default BooleanexpireAt(byte[] key, long unixTime) Set the expiration for givenkeyas a UNIX timestamp.expireAt(byte[] key, long unixTime, ExpirationOptions.Condition condition) Set the expiration for givenkeyas a UNIX timestamp.default BooleanSet the expiration for givenkeyas a UNIX timestamp insecondsprecision.idletime(byte[] key) Get theDurationsince the object stored at the givenkeyis idle.Set<byte[]>keys(byte[] pattern) Retrieve all keys matching the given pattern.move(byte[] key, int dbIndex) Move givenkeyto database withindex.persist(byte[] key) Remove the expiration from givenkey.default BooleanpExpire(byte[] key, long millis) Set time to live for givenkeyin milliseconds.pExpire(byte[] key, long millis, ExpirationOptions.Condition condition) Set time to live for givenkeyin milliseconds.default BooleanSet time to live for givenkeyusingmillisecondsprecision.default BooleanpExpireAt(byte[] key, long unixTimeInMillis) Set the expiration for givenkeyas a UNIX timestamp in milliseconds.pExpireAt(byte[] key, long unixTimeInMillis, ExpirationOptions.Condition condition) Set the expiration for givenkeyas a UNIX timestamp in milliseconds.default BooleanSet the expiration for givenkeyas a UNIX timestamp inmillisecondsprecision.pTtl(byte[] key) Get the precise time to live forkeyin milliseconds.Get the precise time to live forkeyin and convert it to the givenTimeUnit.byte[]Return a random key from the keyspace.refcount(byte[] key) Get the number of references of the value associated with the specifiedkey.voidrename(byte[] oldKey, byte[] newKey) Rename keyoldKeytonewKey.renameNX(byte[] oldKey, byte[] newKey) Rename keyoldKeytonewKeyonly ifnewKeydoes not exist.default voidrestore(byte[] key, long ttlInMillis, byte[] serializedValue) voidrestore(byte[] key, long ttlInMillis, byte[] serializedValue, boolean replace) default Cursor<byte[]>scan(KeyScanOptions options) Use aCursorto iterate over keys.Cursor<byte[]>scan(ScanOptions options) Use aCursorto iterate over keys.List<byte[]>sort(byte[] key, SortParameters params) Sort the elements forkey.sort(byte[] key, SortParameters params, byte[] storeKey) Sort the elements forkeyand store result instoreKey.touch(byte[]... keys) Alter the last access time of givenkey(s).ttl(byte[] key) Get the time to live forkeyin seconds.Get the time to live forkeyin and convert it to the givenTimeUnit.type(byte[] key) Determine the type stored atkey.unlink(byte[]... keys) Unlink thekeysfrom the keyspace. 
- 
Method Details
- 
copy
Copy givensourceKeytotargetKey.- Parameters:
 sourceKey- must not be null.targetKey- must not be null.replace- whether to replace existing keys.- Returns:
 - null when used in pipeline / transaction.
 - Since:
 - 2.6
 - See Also:
 
 - 
exists
Determine if givenkeyexists.- Parameters:
 key- must not be null.- Returns:
 - true if key exists. null when used in pipeline / transaction.
 - See Also:
 
 - 
exists
Count how many of the givenkeysexist. Providing the very samekeymore than once also counts multiple times.- Parameters:
 keys- must not be null.- Returns:
 - the number of keys existing among the ones specified as arguments. null when used in pipeline / transaction.
 - Since:
 - 2.1
 
 - 
del
Delete givenkeys.- Parameters:
 keys- must not be null.- Returns:
 - The number of keys that were removed. null when used in pipeline / transaction.
 - See Also:
 
 - 
unlink
Unlink thekeysfrom the keyspace. Unlike withdel(byte[]...)the actual memory reclaiming here happens asynchronously.- Parameters:
 keys- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - Since:
 - 2.1
 - See Also:
 
 - 
type
Determine the type stored atkey.- Parameters:
 key- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
touch
Alter the last access time of givenkey(s).- Parameters:
 keys- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - Since:
 - 2.1
 - See Also:
 
 - 
keys
Retrieve all keys matching the given pattern.IMPORTANT: The KEYS command is non-interruptible and scans the entire keyspace which may cause performance issues. Consider
scan(ScanOptions)for large datasets.- Parameters:
 pattern- must not be null.- Returns:
 - empty 
Setif no match found. null when used in pipeline / transaction. - See Also:
 
 - 
scan
Use aCursorto iterate over keys.- Parameters:
 options- must not be null.- Returns:
 - never null.
 - Since:
 - 2.4
 - See Also:
 
 - 
scan
Use aCursorto iterate over keys.- Parameters:
 options- must not be null.- Returns:
 - never null.
 - Since:
 - 1.4
 - See Also:
 
 - 
randomKey
Return a random key from the keyspace.- Returns:
 - null if no keys available or when used in pipeline or transaction.
 - See Also:
 
 - 
rename
void rename(byte[] oldKey, byte[] newKey) Rename keyoldKeytonewKey.- Parameters:
 oldKey- must not be null.newKey- must not be null.- See Also:
 
 - 
renameNX
Rename keyoldKeytonewKeyonly ifnewKeydoes not exist.- Parameters:
 oldKey- must not be null.newKey- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
applyExpiration
@Nullable default Boolean applyExpiration(byte[] key, Expiration expiration, ExpirationOptions options) - Parameters:
 key- must not be null.expiration- theExpirationto apply.options- additional options to be sent along with the command.- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
expire
Set time to live for givenkeyin seconds.- Parameters:
 key- must not be null.seconds-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - See Also:
 
 - 
expire
Set time to live for givenkeyin seconds.- Parameters:
 key- must not be null.seconds-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
expire
Set time to live for givenkeyusingsecondsprecision.- Parameters:
 key- must not be null.duration-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
pExpire
Set time to live for givenkeyin milliseconds.- Parameters:
 key- must not be null.millis-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - See Also:
 
 - 
pExpire
Set time to live for givenkeyin milliseconds.- Parameters:
 key- must not be null.millis-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
pExpire
Set time to live for givenkeyusingmillisecondsprecision.- Parameters:
 key- must not be null.duration-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
expireAt
Set the expiration for givenkeyas a UNIX timestamp.- Parameters:
 key- must not be null.unixTime-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - See Also:
 
 - 
expireAt
Set the expiration for givenkeyas a UNIX timestamp.- Parameters:
 key- must not be null.unixTime-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
expireAt
Set the expiration for givenkeyas a UNIX timestamp insecondsprecision.- Parameters:
 key- must not be null.unixTime-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
pExpireAt
Set the expiration for givenkeyas a UNIX timestamp in milliseconds.- Parameters:
 key- must not be null.unixTimeInMillis-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - See Also:
 
 - 
pExpireAt
@Nullable Boolean pExpireAt(byte[] key, long unixTimeInMillis, ExpirationOptions.Condition condition) Set the expiration for givenkeyas a UNIX timestamp in milliseconds.- Parameters:
 key- must not be null.unixTimeInMillis-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
pExpireAt
Set the expiration for givenkeyas a UNIX timestamp inmillisecondsprecision.- Parameters:
 key- must not be null.unixTime-- Returns:
 - null when used in pipeline / transaction. true if the timeout was set or false if the timeout was not set; for example, the key doesn't exist, or the operation was skipped because of the provided arguments.
 - Since:
 - 3.5
 - See Also:
 
 - 
persist
Remove the expiration from givenkey.- Parameters:
 key- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
move
Move givenkeyto database withindex.- Parameters:
 key- must not be null.dbIndex-- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
ttl
Get the time to live forkeyin seconds.- Parameters:
 key- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
ttl
Get the time to live forkeyin and convert it to the givenTimeUnit.- Parameters:
 key- must not be null.timeUnit- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - Since:
 - 1.8
 - See Also:
 
 - 
pTtl
Get the precise time to live forkeyin milliseconds.- Parameters:
 key- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
pTtl
Get the precise time to live forkeyin and convert it to the givenTimeUnit.- Parameters:
 key- must not be null.timeUnit- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - Since:
 - 1.8
 - See Also:
 
 - 
sort
Sort the elements forkey.- Parameters:
 key- must not be null.params- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
sort
Sort the elements forkeyand store result instoreKey.- Parameters:
 key- must not be null.params- must not be null.storeKey- must not be null.- Returns:
 - null when used in pipeline / transaction.
 - See Also:
 
 - 
dump
Retrieve serialized version of the value stored atkey.- Parameters:
 key- must not be null.- Returns:
 - null if key does not exist or when used in pipeline / transaction.
 - See Also:
 
 - 
restore
default void restore(byte[] key, long ttlInMillis, byte[] serializedValue) - Parameters:
 key- must not be null.ttlInMillis-serializedValue- must not be null.- See Also:
 
 - 
restore
void restore(byte[] key, long ttlInMillis, byte[] serializedValue, boolean replace) - Parameters:
 key- must not be null.ttlInMillis-serializedValue- must not be null.replace- use true to replace a potentially existing value instead of erroring.- Since:
 - 2.1
 - See Also:
 
 - 
encodingOf
Get the type of internal representation used for storing the value at the givenkey.- Parameters:
 key- must not be null.- Returns:
 ValueEncoding.RedisValueEncoding.VACANTif key does not exist or null when used in pipeline / transaction.- Throws:
 IllegalArgumentException- ifkeyis null.- Since:
 - 2.1
 - See Also:
 
 - 
idletime
Get theDurationsince the object stored at the givenkeyis idle.- Parameters:
 key- must not be null.- Returns:
 - null if key does not exist or when used in pipeline / transaction.
 - Throws:
 IllegalArgumentException- ifkeyis null.- Since:
 - 2.1
 - See Also:
 
 - 
refcount
Get the number of references of the value associated with the specifiedkey.- Parameters:
 key- must not be null.- Returns:
 - null if key does not exist or when used in pipeline / transaction.
 - Throws:
 IllegalArgumentException- ifkeyis null.- Since:
 - 2.1
 - See Also:
 
 
 -