Skip to content

Commit 7815847

Browse files
authored
Merge pull request #269 from dropseed/redis-expires-int
Allow redis to set expires with an int arg
2 parents 7b198ee + e28436d commit 7815847

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

cachecontrol/caches/redis_cache.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ def get(self, key):
1919
def set(self, key, value, expires=None):
2020
if not expires:
2121
self.conn.set(key, value)
22-
else:
22+
elif isinstance(expires, datetime):
2323
expires = expires - datetime.utcnow()
2424
self.conn.setex(key, int(expires.total_seconds()), value)
25+
else:
26+
self.conn.setex(key, expires, value)
2527

2628
def delete(self, key):
2729
self.conn.delete(key)

tests/test_storage_redis.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ def setup(self):
1414
self.conn = Mock()
1515
self.cache = RedisCache(self.conn)
1616

17-
def test_set_expiration(self):
17+
def test_set_expiration_datetime(self):
1818
self.cache.set("foo", "bar", expires=datetime(2014, 2, 2))
1919
assert self.conn.setex.called
20+
21+
def test_set_expiration_int(self):
22+
self.cache.set("foo", "bar", expires=600)
23+
assert self.conn.setex.called

0 commit comments

Comments
 (0)