Interface HashOperations<H,HK,HV>
@NullUnmarked
public interface HashOperations<H,HK,HV>
Redis map specific operations working on a hash.
- Author:
- Costin Leau, Christoph Strobl, Ninad Divadkar, Tihomir Mateev, Viktoriya Kutsarova
-
Method Summary
Modifier and TypeMethodDescriptionDelete given hashhashKeys.Get entire hash stored atkey.default @NonNull BoundHashFieldExpirationOperations<HK> expiration(@NonNull H key) Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkey.default @NonNull BoundHashFieldExpirationOperations<HK> expiration(@NonNull H key, @NonNull HK @NonNull ... hashFields) Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkeyfor the given hash fields.default @NonNull BoundHashFieldExpirationOperations<HK> expiration(@NonNull H key, @NonNull Collection<@NonNull HK> hashFields) Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkeyfor the given hash fields.ExpireChanges<@NonNull HK> expire(@NonNull H key, @NonNull Duration timeout, @NonNull Collection<@NonNull HK> hashKeys) Set time to live for givenhashKey.ExpireChanges<@NonNull HK> expire(@NonNull H key, @NonNull Expiration expiration, @NonNull ExpirationOptions options, @NonNull Collection<@NonNull HK> hashKeys) Apply the expiration for givenhashKeys.ExpireChanges<@NonNull HK> expireAt(@NonNull H key, @NonNull Instant expireAt, @NonNull Collection<@NonNull HK> hashKeys) Set the expiration for givenhashKeysas a date timestamp.Get value for givenhashKeyfrom hash atkey.getAndDelete(@NonNull H key, @NonNull Collection<@NonNull HK> hashKeys) Get and remove the value for givenhashKeysfrom hash atkey.getAndExpire(@NonNull H key, @Nullable Expiration expiration, @NonNull Collection<@NonNull HK> hashKeys) Get and optionally expire the value for givenhashKeysfrom hash atkey.@NonNull RedisOperations<H, ?> default Expirations<@NonNull HK> getTimeToLive(@NonNull H key, Collection<@NonNull HK> hashKeys) Get the time to live forhashKeysin seconds.Expirations<@NonNull HK> getTimeToLive(@NonNull H key, @NonNull TimeUnit timeUnit, @NonNull Collection<@NonNull HK> hashKeys) Get the time to live forhashKeysand convert it to the givenTimeUnit.Determine if given hashhashKeyexists.Incrementvalueof a hashhashKeyby the givendelta.Incrementvalueof a hashhashKeyby the givendelta.Get key set (fields) of hash atkey.lengthOfValue(@NonNull H key, @NonNull HK hashKey) Returns the length of the value associated withhashKey.multiGet(@NonNull H key, @NonNull Collection<@NonNull HK> hashKeys) Get values for givenhashKeysfrom hash atkey.ExpireChanges<@NonNull HK> persist(@NonNull H key, @NonNull Collection<@NonNull HK> hashKeys) Remove the expiration from givenhashKeys.voidSet thevalueof a hashhashKey.voidSet multiple hash fields to multiple values using data provided inm.putAndExpire(@NonNull H key, @NonNull Map<? extends @NonNull HK, ? extends HV> m, @NonNull RedisHashCommands.HashFieldSetOption condition, @Nullable Expiration expiration) Set multiple hash fields to multiple values using data provided inmwith optional condition and expiration.putIfAbsent(@NonNull H key, @NonNull HK hashKey, HV value) Set thevalueof a hashhashKeyonly ifhashKeydoes not exist.randomEntries(@NonNull H key, long count) Return a random entries from the hash stored atkey.randomEntry(@NonNull H key) Return a random entry from the hash stored atkey.Return a random hash key from the hash stored atkey.randomKeys(@NonNull H key, long count) Return random hash keys from the hash stored atkey.scan(@NonNull H key, @Nullable ScanOptions options) Use aCursorto iterate over entries in hash atkey.Get size of hash atkey.Get entry set (values) of hash atkey.
-
Method Details
-
delete
-
hasKey
-
get
-
multiGet
Get values for givenhashKeysfrom hash atkey. Values are in the order of the requested keys Absent field values are represented using null in the resultingList.- Parameters:
key- must not be null.hashKeys- must not be null.- Returns:
- null when used in pipeline / transaction.
-
getAndDelete
Get and remove the value for givenhashKeysfrom hash atkey. Values are in the order of the requested keys. Absent field values are represented using null in the resultingList.- Parameters:
key- must not be null.hashKeys- must not be null.- Returns:
- list of values for the given fields or null when used in pipeline / transaction.
- Since:
- 4.0
- See Also:
-
getAndExpire
List<HV> getAndExpire(@NonNull H key, @Nullable Expiration expiration, @NonNull Collection<@NonNull HK> hashKeys) Get and optionally expire the value for givenhashKeysfrom hash atkey. Values are in the order of the requested keys. Absent field values are represented using null in the resultingList.- Parameters:
key- must not be null.expiration- is optional.hashKeys- must not be null.- Returns:
- list of values for the given fields or null when used in pipeline / transaction.
- Since:
- 4.0
- See Also:
-
putAndExpire
Boolean putAndExpire(@NonNull H key, @NonNull Map<? extends @NonNull HK, ? extends HV> m, @NonNull RedisHashCommands.HashFieldSetOption condition, @Nullable Expiration expiration) Set multiple hash fields to multiple values using data provided inmwith optional condition and expiration.- Parameters:
key- must not be null.m- must not be null.condition- must not be .expiration- is optional.- Returns:
- whether all fields were set or null when used in pipeline / transaction.
- Since:
- 4.0
- See Also:
-
increment
-
increment
-
randomKey
-
randomEntry
-
randomKeys
Return random hash keys from the hash stored atkey. If the providedcountargument is positive, return a list of distinct hash keys, capped either atcountor the hash size. Ifcountis negative, the behavior changes and the command is allowed to return the same hash key multiple times. In this case, the number of returned fields is the absolute value of the specified count.- Parameters:
key- must not be null.count- number of fields to return.- Returns:
- null if key does not exist or when used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
randomEntries
Return a random entries from the hash stored atkey.- Parameters:
key- must not be null.count- number of fields to return. Must be positive.- Returns:
- null if key does not exist or when used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
keys
-
lengthOfValue
Returns the length of the value associated withhashKey. If either thekeyor thehashKeydo not exist,0is returned.- Parameters:
key- must not be null.hashKey- must not be null.- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.1
-
size
-
putAll
-
put
-
putIfAbsent
-
values
-
entries
-
scan
Use aCursorto iterate over entries in hash atkey.
Important: CallCloseableIterator.close()when done to avoid resource leaks.- Parameters:
key- must not be null.options- can be null.- Returns:
- the result cursor providing access to the scan result. Must be closed once fully processed (e.g. through a try-with-resources clause).
- Since:
- 1.4
-
expire
ExpireChanges<@NonNull HK> expire(@NonNull H key, @NonNull Duration timeout, @NonNull Collection<@NonNull HK> hashKeys) Set time to live for givenhashKey.- Parameters:
key- must not be null.timeout- the amount of time after which the key will be expired, must not be null.hashKeys- must not be null.- Returns:
- changes to the hash fields. null when used in pipeline / transaction.
- Throws:
IllegalArgumentException- if the timeout is null.- Since:
- 3.5
- See Also:
-
expireAt
ExpireChanges<@NonNull HK> expireAt(@NonNull H key, @NonNull Instant expireAt, @NonNull Collection<@NonNull HK> hashKeys) Set the expiration for givenhashKeysas a date timestamp.- Parameters:
key- must not be null.expireAt- must not be null.hashKeys- must not be null.- Returns:
- changes to the hash fields. null when used in pipeline / transaction.
- Throws:
IllegalArgumentException- if the instant is null or too large to represent as aDate.- Since:
- 3.5
- See Also:
-
expire
ExpireChanges<@NonNull HK> expire(@NonNull H key, @NonNull Expiration expiration, @NonNull ExpirationOptions options, @NonNull Collection<@NonNull HK> hashKeys) Apply the expiration for givenhashKeys.- Parameters:
key- must not be null.expiration- must not be null.options- must not be null.hashKeys- must not be null.- Returns:
- changes to the hash fields. null when used in pipeline / transaction.
- Throws:
IllegalArgumentException- if the instant is null or too large to represent as aDate.- Since:
- 3.5
- See Also:
-
persist
Remove the expiration from givenhashKeys.- Parameters:
key- must not be null.hashKeys- must not be null.- Returns:
- changes to the hash fields. null when used in pipeline / transaction.
- Since:
- 3.5
- See Also:
-
getTimeToLive
Get the time to live forhashKeysin seconds.- Parameters:
key- must not be null.hashKeys- must not be null.- Returns:
- the actual expirations in seconds for the hash fields. null when used in pipeline / transaction.
- Since:
- 3.5
- See Also:
-
getTimeToLive
Expirations<@NonNull HK> getTimeToLive(@NonNull H key, @NonNull TimeUnit timeUnit, @NonNull Collection<@NonNull HK> hashKeys) Get the time to live forhashKeysand convert it to the givenTimeUnit.- Parameters:
key- must not be null.timeUnit- must not be null.hashKeys- must not be null.- Returns:
- the actual expirations for the hash fields. null when used in pipeline / transaction.
- Since:
- 3.5
- See Also:
-
expiration
Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkey. Operations on the expiration object obtain keys at the time of invoking any expiration operation.- Parameters:
key- must not be null.- Returns:
- the bound operations object to perform operations on the hash field expiration.
- Since:
- 3.5
-
expiration
default @NonNull BoundHashFieldExpirationOperations<HK> expiration(@NonNull H key, @NonNull HK @NonNull ... hashFields) Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkeyfor the given hash fields.- Parameters:
hashFields- collection of hash fields to operate on.- Returns:
- the bound operations object to perform operations on the hash field expiration.
- Since:
- 3.5
-
expiration
default @NonNull BoundHashFieldExpirationOperations<HK> expiration(@NonNull H key, @NonNull Collection<@NonNull HK> hashFields) Returns a bound operations object to perform operations on the hash field expiration for all hash fields atkeyfor the given hash fields.- Parameters:
hashFields- collection of hash fields to operate on.- Returns:
- the bound operations object to perform operations on the hash field expiration.
- Since:
- 3.5
-
getOperations
@NonNull RedisOperations<H,?> getOperations()- Returns:
- the underlying
RedisOperationsused to execute commands.
-