val->lru = server.lruclock;
return val;
} else {
- return NULL;
+ return recover(db, key);
}
}
robj *lookupKeyWrite(redisDb *db, robj *key) {
expireIfNeeded(db,key);
- return lookupKey(db,key);
+ robj *val = lookupKey(db,key);
+ if (val) val->archived = 0;
+ return val;
}
robj *lookupKeyReadOrReply(redisClient *c, robj *key, robj *reply) {