robj *lookupKeyWrite(redisDb *db, robj *key) {
deleteIfVolatile(db,key);
- touchWatchedKey(db,key);
return lookupKey(db,key);
}
dbReplace(c->db,c->argv[2],o);
}
dbDelete(c->db,c->argv[1]);
+ touchWatchedKey(c->db,c->argv[1]);
touchWatchedKey(c->db,c->argv[2]);
server.dirty++;
addReply(c,nx ? shared.cone : shared.ok);
if (seconds <= 0) {
if (dbDelete(c->db,key)) server.dirty++;
addReply(c, shared.cone);
+ touchWatchedKey(c->db,key);
return;
} else {
time_t when = time(NULL)+seconds;
if (setExpire(c->db,key,when)) {
addReply(c,shared.cone);
+ touchWatchedKey(c->db,key);
server.dirty++;
} else {
addReply(c,shared.czero);
}
addReplySds(c,sdscatprintf(sdsempty(),":%d\r\n",ttl));
}
-
-