diff options
author | dvora-h <67596500+dvora-h@users.noreply.github.com> | 2022-03-07 01:33:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-07 01:33:57 +0200 |
commit | 1f2259fa3078d38048060a429837fb13f397686e (patch) | |
tree | a3b92ea4df329c9e4a733cb780055a6e9714df95 | |
parent | f987a0cc86bd37aeaec3d73547c6176b651acd7b (diff) | |
download | redis-py-1f2259fa3078d38048060a429837fb13f397686e.tar.gz |
Add support for PEXPIRETIME (#1861)
* add pexpiretime
* 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 cdbb267..3595677 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -1800,6 +1800,15 @@ class BasicKeyCommands(CommandsProtocol): when = int(time.mktime(when.timetuple())) * 1000 + ms return self.execute_command("PEXPIREAT", name, when) + def pexpiretime(self, key: str) -> int: + """ + Returns the absolute Unix timestamp (since January 1, 1970) in milliseconds + at which the given key will expire. + + For more information check https://redis.io/commands/pexpiretime + """ + return self.execute_command("PEXPIRETIME", key) + def psetex( self, name: KeyT, diff --git a/tests/test_commands.py b/tests/test_commands.py index be60b6e..a73541e 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -1254,6 +1254,12 @@ class TestRedisCommands: assert r.pexpireat("a", expire_at_seconds) is True assert 0 < r.pttl("a") <= 61000 + @skip_if_server_version_lt("7.0.0") + def test_pexpiretime(self, r): + r.set("a", "foo") + r.pexpireat("a", 33177117420000) + assert r.pexpiretime("a") == 33177117420000 + @skip_if_server_version_lt("2.6.0") def test_psetex(self, r): assert r.psetex("a", 1000, "value") |