MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / deleteExpiredKeyAndPropagate

Function deleteExpiredKeyAndPropagate

src/db.cpp:1942–1956  ·  view source on GitHub ↗

Delete the specified expired key and propagate expire. */

Source from the content-addressed store, hash-verified

1940
1941/* Delete the specified expired key and propagate expire. */
1942void deleteExpiredKeyAndPropagate(redisDb *db, robj *keyobj) {
1943 mstime_t expire_latency;
1944 latencyStartMonitor(expire_latency);
1945 if (g_pserver->lazyfree_lazy_expire) {
1946 dbAsyncDelete(db,keyobj);
1947 } else {
1948 dbSyncDelete(db,keyobj);
1949 }
1950 latencyEndMonitor(expire_latency);
1951 latencyAddSampleIfNeeded("expire-del",expire_latency);
1952 notifyKeyspaceEvent(NOTIFY_EXPIRED,"expired",keyobj,db->id);
1953 signalModifiedKey(NULL,db,keyobj);
1954 propagateExpire(db,keyobj,g_pserver->lazyfree_lazy_expire);
1955 g_pserver->stat_expiredkeys++;
1956}
1957
1958/* Propagate expires into slaves and the AOF file.
1959 * When a key expires in the master, a DEL operation for this key is sent

Callers 1

expireIfNeededFunction · 0.85

Calls 5

dbAsyncDeleteFunction · 0.85
dbSyncDeleteFunction · 0.85
notifyKeyspaceEventFunction · 0.85
signalModifiedKeyFunction · 0.85
propagateExpireFunction · 0.85

Tested by

no test coverage detected