Interface RedisKeyCommands
- All Known Subinterfaces:
DefaultedRedisClusterConnection,DefaultedRedisConnection,RedisClusterConnection,RedisCommands,RedisConnection,RedisConnectionUtils.RedisConnectionProxy,StringRedisConnection
- All Known Implementing Classes:
AbstractRedisConnection,DefaultStringRedisConnection,JedisClusterConnection,JedisConnection,LettuceClusterConnection,LettuceConnection
@NullUnmarked
public interface RedisKeyCommands
Key-specific commands supported by Redis.
- Author:
- Costin Leau, Christoph Strobl, Mark Paluch, ihaohong
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault BooleanapplyExpiration(byte @NonNull [] key, @NonNull Expiration expiration, @NonNull ExpirationOptions options) copy(byte @NonNull [] sourceKey, byte @NonNull [] targetKey, boolean replace) Copy givensourceKeytotargetKey.del(byte @NonNull [] @NonNull ... keys) Delete givenkeys.byte[]dump(byte @NonNull [] key) Retrieve serialized version of the value stored atkey.encodingOf(byte @NonNull [] key) Get the type of internal representation used for storing the value at the givenkey.default Booleanexists(byte @NonNull [] key) Determine if givenkeyexists.exists(byte @NonNull [] @NonNull ... keys) Count how many of the givenkeysexist.default Booleanexpire(byte @NonNull [] key, long seconds) Set time to live for givenkeyin seconds.expire(byte @NonNull [] key, long seconds, @NonNull ExpirationOptions.Condition condition) Set time to live for givenkeyin seconds.default BooleanSet time to live for givenkeyusingsecondsprecision.default BooleanexpireAt(byte @NonNull [] key, long unixTime) Set the expiration for givenkeyas a UNIX timestamp.expireAt(byte @NonNull [] key, long unixTime, @NonNull ExpirationOptions.Condition condition) Set the expiration for givenkeyas a UNIX timestamp.default BooleanSet the expiration for givenkeyas a UNIX timestamp insecondsprecision.idletime(byte @NonNull [] key) Get theDurationsince the object stored at the givenkeyis idle.Set<byte @NonNull []>keys(byte @NonNull [] pattern) Retrieve all keys matching the given pattern.move(byte @NonNull [] key, int dbIndex) Move givenkeyto database withindex.persist(byte @NonNull [] key) Remove the expiration from givenkey.default BooleanpExpire(byte @NonNull [] key, long millis) Set time to live for givenkeyin milliseconds.pExpire(byte @NonNull [] key, long millis, @NonNull ExpirationOptions.Condition condition) Set time to live for givenkeyin milliseconds.default BooleanSet time to live for givenkeyusingmillisecondsprecision.default BooleanpExpireAt(byte @NonNull [] key, long unixTimeInMillis) Set the expiration for givenkeyas a UNIX timestamp in milliseconds.pExpireAt(byte @NonNull [] key, long unixTimeInMillis, @NonNull 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 @NonNull [] 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 @NonNull [] key) Get the number of references of the value associated with the specifiedkey.voidrename(byte @NonNull [] oldKey, byte @NonNull [] newKey) Rename keyoldKeytonewKey.renameNX(byte @NonNull [] oldKey, byte @NonNull [] newKey) Rename keyoldKeytonewKeyonly ifnewKeydoes not exist.default voidrestore(byte @NonNull [] key, long ttlInMillis, byte @NonNull [] serializedValue) voidrestore(byte @NonNull [] key, long ttlInMillis, byte @NonNull [] serializedValue, boolean replace) default Cursor<byte @NonNull []>scan(@NonNull KeyScanOptions options) Use aCursorto iterate over keys.Cursor<byte @NonNull []>scan(@Nullable ScanOptions options) Use aCursorto iterate over keys.List<byte @NonNull []>sort(byte @NonNull [] key, @Nullable SortParameters params) Sort the elements forkey.sort(byte @NonNull [] key, @Nullable SortParameters params, byte @NonNull [] storeKey) Sort the elements forkeyand store result instoreKey.touch(byte @NonNull [] @NonNull ... keys) Alter the last access time of givenkey(s).ttl(byte @NonNull [] key) Get the time to live forkeyin seconds.Get the time to live forkeyin and convert it to the givenTimeUnit.type(byte @NonNull [] key) Determine the type stored atkey.unlink(byte @NonNull [] @NonNull ... 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- can be null.- Returns:
- never null.
- Since:
- 1.4
- See Also:
-
randomKey
byte[] 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 @NonNull [] oldKey, byte @NonNull [] 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
default Boolean applyExpiration(byte @NonNull [] key, @NonNull Expiration expiration, @NonNull 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
Boolean expireAt(byte @NonNull [] key, long unixTime, @NonNull ExpirationOptions.Condition condition) 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
Boolean pExpireAt(byte @NonNull [] key, long unixTimeInMillis, @NonNull 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- can 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- can be null.storeKey- must not be null.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
dump
byte[] dump(byte @NonNull [] key) 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 @NonNull [] key, long ttlInMillis, byte @NonNull [] serializedValue) - Parameters:
key- must not be null.ttlInMillis-serializedValue- must not be null.- See Also:
-
restore
void restore(byte @NonNull [] key, long ttlInMillis, byte @NonNull [] 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:
-