Skip to content
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

[WIP] Add hash expiration - HEXPIRE and family #674

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

mmclure-msft
Copy link
Contributor

@mmclure-msft mmclure-msft commented Sep 18, 2024

Redis 7.4 adds the ability to add a per field TTL to hashes through the new HEXPIRE/HPEXPIRE/HEXPIREAT/HPEXPIREAT/HTTL/HPTTL commands. This could heavily reduce the dependency on LUA for users of Redisson MapCache objects since they could use MapCacheNative that use these commands and only a small amount of LUA.

This is n work in progress to try to add this functionality to Garnet.

TODO

  • Figure out why the second time we execute the HEXPIRE command it occurs asynchronously and you get the wrong result back causing simple tests to fail.
  • ACL tests
  • Many more tests
  • Implement HTTL
  • Actually make the TTL expire the field

Instead of TTL store expiration instant

Add first test for HEXPIRE

Implement initial parsing for HEXPIRE and family

Trying to get test to pass
Add entries to RespCommandsInfo.json for HEXPIREAT, HPEXPIRE, HPEXPIREAT
Fix expiration time calculus
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.

1 participant