Skip to content

Conversation

@a-TODO-rov
Copy link
Contributor

resolves #3500

@a-TODO-rov a-TODO-rov requested review from tishun and uglide November 10, 2025 12:38
Copy link
Collaborator

@tishun tishun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

*
* @param map the map of keys and values.
* @return Boolean from integer-reply: {@code 1} if all keys were set, {@code 0} otherwise.
*/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to add here an annotation on when the command was added. Assuming we will be adding new features in the next minor release then

@since 7.1

Do not forget to rebuild all the interfaces after that ...

*
* @param map the map of keys and values.
* @param args the {@link MSetExArgs} specifying NX/XX and expiration.
* @return Boolean from integer-reply: {@code 1} if all keys were set, {@code 0} otherwise.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

* <p>
* Construct via {@link #builder()} to ensure type-safe sequencing (condition → expiration → build). NX/XX are mutually
* exclusive, and at most one expiration can be specified. Instances are intended for single use within a command invocation.
*
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@since 7.1

public interface ExpirationStep {

/** Set expire time in seconds (EX). */
BuildStep ex(long seconds);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets use only the Duration API approach, I would suggest that we keep the API surface as small as possible

(again - applicable to all usages of long to define seconds expirations)

* unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL].
*
* <p>
* Construct via {@link #builder()} to ensure type-safe sequencing (condition → expiration → build). NX/XX are mutually
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for MSETEX command

3 participants