diff options
author | menwen <menwenjun@gmail.com> | 2021-08-05 16:09:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-05 11:09:24 +0300 |
commit | ca559819f7dcd97ba9ef667bf38360a9527d62f6 (patch) | |
tree | 4b0e57c64171168126faaccd0f18a1afeb8f7a43 /src/expire.c | |
parent | d32f8641ed5cda76234f7405d2b65e167223a9f1 (diff) | |
download | redis-ca559819f7dcd97ba9ef667bf38360a9527d62f6.tar.gz |
Add latency monitor sample when key is deleted via lazy expire (#9317)
Fix that there is no sample latency after the key expires via expireIfNeeded().
Some refactoring for shared code.
Diffstat (limited to 'src/expire.c')
-rw-r--r-- | src/expire.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/src/expire.c b/src/expire.c index 858c13549..798651255 100644 --- a/src/expire.c +++ b/src/expire.c @@ -53,24 +53,11 @@ * to the function to avoid too many gettimeofday() syscalls. */ int activeExpireCycleTryExpire(redisDb *db, dictEntry *de, long long now) { long long t = dictGetSignedIntegerVal(de); - mstime_t expire_latency; if (now > t) { sds key = dictGetKey(de); robj *keyobj = createStringObject(key,sdslen(key)); - - propagateExpire(db,keyobj,server.lazyfree_lazy_expire); - latencyStartMonitor(expire_latency); - if (server.lazyfree_lazy_expire) - dbAsyncDelete(db,keyobj); - else - dbSyncDelete(db,keyobj); - latencyEndMonitor(expire_latency); - latencyAddSampleIfNeeded("expire-del",expire_latency); - notifyKeyspaceEvent(NOTIFY_EXPIRED, - "expired",keyobj,db->id); - signalModifiedKey(NULL, db, keyobj); + deleteExpiredKeyAndPropagate(db,keyobj); decrRefCount(keyobj); - server.stat_expiredkeys++; return 1; } else { return 0; |