-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Hash Field Expiration to the Spring Data Redis framework #3054
base: main
Are you sure you want to change the base?
Introduce Hash Field Expiration to the Spring Data Redis framework #3054
Conversation
@tishun Please sign the Contributor License Agreement! Click here to manually synchronize the status of this Pull Request. See the FAQ for frequently asked questions. |
hi @tishun ! Is it any updates about your PR? i guess it`s wating for you to take action? |
Hey @leonovdmitry , The current agreement with the Pivotal team is for them to try and review and push this change with the 3.5 release. Mid-January was a tentative and nonbinding ETA that I hope we will be able to meet to start work on approving this. In the mean time if you feel there are use cases that we've missed please let me know. I have a follow-up commit for the |
@tishun thank you for feedback, yep, i was a bit surprised not to find this function in the current library version, but happy to see PR, so thanks for your work. About use cases, I don't know if this could be part of the core, but it would be convenient to have a method for get/set ttl for only one field with the result in the form of a response code(Long) and not a list of codes(List) Good luck and have a nice day! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your pull request. There are some minor things to be updated. Can you please squash your commits and force-push these along with a DCO sign-off in the commit message?
* @return a {@link Mono} emitting the expiration result - {@code 2} indicating the specific field is deleted | ||
* already due to expiration, or provided expiry interval is 0; {@code 1} indicating expiration time is set/updated; | ||
* {@code 0} indicating the expiration time is not set (a provided NX | XX | GT | LT condition is not met); | ||
* {@code -2} indicating there is no such field; {@literal null} when used in pipeline / transaction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
null
when pipelining/transaction in progress doesn't apply to reactive commands as we do not have dedicated pipelining nor transaction support. See also other commands as well.
* @author Christoph Strobl | ||
* @author Tihomir Mateev | ||
*/ | ||
class KeyFieldsCommand extends KeyCommand { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HashFieldsCommand
fits better the purpose.
This change introduces the Hash Field Expiration feature as part of the features provided by the spring-data-redis project.
As part of the change the following commands would be made available:
The new commands are available as part of the following interfaces:
(based on similar PR #283)
This feature is available starting from Redis CE version 7.4.x and later
For more information on HFE you can also check out ...
... the blog article on the topic.
... examples of how one can take advantage of the feature in their application