diff options
author | dvora-h <67596500+dvora-h@users.noreply.github.com> | 2022-03-07 01:33:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-07 01:33:42 +0200 |
commit | f987a0cc86bd37aeaec3d73547c6176b651acd7b (patch) | |
tree | 323dca5f5939a7c1c2875d815bc2dec6f1cdb109 | |
parent | 4dc48d610f009ad14ff19ec7fcc3ac5c960d9490 (diff) | |
download | redis-py-f987a0cc86bd37aeaec3d73547c6176b651acd7b.tar.gz |
Add support for EXPIRETIME (#1860)
* add expiretime
* skip test
-rw-r--r-- | redis/commands/core.py | 9 | ||||
-rw-r--r-- | tests/test_commands.py | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/redis/commands/core.py b/redis/commands/core.py index e9bb286..cdbb267 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -1523,6 +1523,15 @@ class BasicKeyCommands(CommandsProtocol): when = int(time.mktime(when.timetuple())) return self.execute_command("EXPIREAT", name, when) + def expiretime(self, key: str) -> int: + """ + Returns the absolute Unix timestamp (since January 1, 1970) in seconds + at which the given key will expire. + + For more information check https://redis.io/commands/expiretime + """ + return self.execute_command("EXPIRETIME", key) + def get(self, name: KeyT) -> ResponseT: """ Return the value at key ``name``, or None if the key doesn't exist diff --git a/tests/test_commands.py b/tests/test_commands.py index f165120..be60b6e 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -1075,6 +1075,12 @@ class TestRedisCommands: assert r.expireat("a", expire_at_seconds) is True assert 0 < r.ttl("a") <= 61 + @skip_if_server_version_lt("7.0.0") + def test_expiretime(self, r): + r.set("a", "foo") + r.expireat("a", 33177117420) + assert r.expiretime("a") == 33177117420 + def test_get_and_set(self, r): # get and set can't be tested independently of each other assert r.get("a") is None |