summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordvora-h <67596500+dvora-h@users.noreply.github.com>2022-03-07 01:33:42 +0200
committerGitHub <noreply@github.com>2022-03-07 01:33:42 +0200
commitf987a0cc86bd37aeaec3d73547c6176b651acd7b (patch)
tree323dca5f5939a7c1c2875d815bc2dec6f1cdb109
parent4dc48d610f009ad14ff19ec7fcc3ac5c960d9490 (diff)
downloadredis-py-f987a0cc86bd37aeaec3d73547c6176b651acd7b.tar.gz
Add support for EXPIRETIME (#1860)
* add expiretime * skip test
-rw-r--r--redis/commands/core.py9
-rw-r--r--tests/test_commands.py6
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