keyIsExpired checks server.loading before calling getExpire (#11393)
Seems excessive to call getExpire if we don't need it. This can maybe have some speedup on AOF file loading (saving a dictFind call) Co-authored-by: lvshuning <lvshuning@meituan.com>
This commit is contained in:
parent
ba1f09d3fe
commit
20d286f77e
6
src/db.c
6
src/db.c
@ -1612,14 +1612,14 @@ void propagateDeletion(redisDb *db, robj *key, int lazy) {
|
||||
|
||||
/* Check if the key is expired. */
|
||||
int keyIsExpired(redisDb *db, robj *key) {
|
||||
/* Don't expire anything while loading. It will be done later. */
|
||||
if (server.loading) return 0;
|
||||
|
||||
mstime_t when = getExpire(db,key);
|
||||
mstime_t now;
|
||||
|
||||
if (when < 0) return 0; /* No expire for this key */
|
||||
|
||||
/* Don't expire anything while loading. It will be done later. */
|
||||
if (server.loading) return 0;
|
||||
|
||||
now = commandTimeSnapshot();
|
||||
|
||||
/* The key expired if the current (virtual or real) time is greater
|
||||
|
Loading…
x
Reference in New Issue
Block a user