mirror of
https://github.com/redis/redis.git
synced 2026-04-21 03:01:35 -04:00
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:
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
|
||||
|
||||
Reference in New Issue
Block a user