Skip to content

Commit 32c9179

Browse files
committed
Merge pull request redis#1677 from mattsta/expire-before-delete
Check key expiration before deleting
2 parents 12e435d + 8853080 commit 32c9179

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/db.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ void delCommand(redisClient *c) {
280280
int deleted = 0, j;
281281

282282
for (j = 1; j < c->argc; j++) {
283+
expireIfNeeded(c->db,c->argv[j]);
283284
if (dbDelete(c->db,c->argv[j])) {
284285
signalModifiedKey(c->db,c->argv[j]);
285286
notifyKeyspaceEvent(REDIS_NOTIFY_GENERIC,

tests/unit/basic.tcl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,14 @@ start_server {tags {"basic"}} {
261261
assert_equal 20 [r get x]
262262
}
263263

264+
test "DEL against expired key" {
265+
r debug set-active-expire 0
266+
r setex keyExpire 1 valExpire
267+
after 1100
268+
assert_equal 0 [r del keyExpire]
269+
r debug set-active-expire 1
270+
}
271+
264272
test {EXISTS} {
265273
set res {}
266274
r set newkey test

0 commit comments

Comments
 (0)