Lines Matching refs:db

47 robj *lookupKey(redisDb *db, robj *key, int flags) {  in lookupKey()  argument
48 dictEntry *de = dictFind(db->dict,key->ptr); in lookupKey()
88 robj *lookupKeyReadWithFlags(redisDb *db, robj *key, int flags) { in lookupKeyReadWithFlags() argument
91 if (expireIfNeeded(db,key) == 1) { in lookupKeyReadWithFlags()
117 val = lookupKey(db,key,flags); in lookupKeyReadWithFlags()
127 robj *lookupKeyRead(redisDb *db, robj *key) { in lookupKeyRead() argument
128 return lookupKeyReadWithFlags(db,key,LOOKUP_NONE); in lookupKeyRead()
136 robj *lookupKeyWrite(redisDb *db, robj *key) { in lookupKeyWrite() argument
137 expireIfNeeded(db,key); in lookupKeyWrite()
138 return lookupKey(db,key,LOOKUP_NONE); in lookupKeyWrite()
142 robj *o = lookupKeyRead(c->db, key); in lookupKeyReadOrReply()
148 robj *o = lookupKeyWrite(c->db, key); in lookupKeyWriteOrReply()
157 void dbAdd(redisDb *db, robj *key, robj *val) { in dbAdd() argument
159 int retval = dictAdd(db->dict, copy, val); in dbAdd()
162 if (val->type == OBJ_LIST) signalListAsReady(db, key); in dbAdd()
171 void dbOverwrite(redisDb *db, robj *key, robj *val) { in dbOverwrite() argument
172 dictEntry *de = dictFind(db->dict,key->ptr); in dbOverwrite()
175 dictReplace(db->dict, key->ptr, val); in dbOverwrite()
184 void setKey(redisDb *db, robj *key, robj *val) { in setKey() argument
185 if (lookupKeyWrite(db,key) == NULL) { in setKey()
186 dbAdd(db,key,val); in setKey()
188 dbOverwrite(db,key,val); in setKey()
191 removeExpire(db,key); in setKey()
192 signalModifiedKey(db,key); in setKey()
195 int dbExists(redisDb *db, robj *key) { in dbExists() argument
196 return dictFind(db->dict,key->ptr) != NULL; in dbExists()
203 robj *dbRandomKey(redisDb *db) { in dbRandomKey() argument
210 de = dictGetRandomKey(db->dict); in dbRandomKey()
215 if (dictFind(db->expires,key)) { in dbRandomKey()
216 if (expireIfNeeded(db,keyobj)) { in dbRandomKey()
226 int dbDelete(redisDb *db, robj *key) { in dbDelete() argument
229 if (dictSize(db->expires) > 0) dictDelete(db->expires,key->ptr); in dbDelete()
230 if (dictDelete(db->dict,key->ptr) == DICT_OK) { in dbDelete()
265 robj *dbUnshareStringValue(redisDb *db, robj *key, robj *o) { in dbUnshareStringValue() argument
271 dbOverwrite(db,key,o); in dbUnshareStringValue()
281 removed += dictSize(server.db[j].dict); in emptyDb()
282 dictEmpty(server.db[j].dict,callback); in emptyDb()
283 dictEmpty(server.db[j].expires,callback); in emptyDb()
292 c->db = &server.db[id]; in selectDb()
305 void signalModifiedKey(redisDb *db, robj *key) { in signalModifiedKey() argument
306 touchWatchedKey(db,key); in signalModifiedKey()
318 server.dirty += dictSize(c->db->dict); in flushdbCommand()
319 signalFlushedDb(c->db->id); in flushdbCommand()
320 dictEmpty(c->db->dict,NULL); in flushdbCommand()
321 dictEmpty(c->db->expires,NULL); in flushdbCommand()
348 expireIfNeeded(c->db,c->argv[j]); in delCommand()
349 if (dbDelete(c->db,c->argv[j])) { in delCommand()
350 signalModifiedKey(c->db,c->argv[j]); in delCommand()
352 "del",c->argv[j],c->db->id); in delCommand()
367 expireIfNeeded(c->db,c->argv[j]); in existsCommand()
368 if (dbExists(c->db,c->argv[j])) count++; in existsCommand()
394 if ((key = dbRandomKey(c->db)) == NULL) { in randomkeyCommand()
411 di = dictGetSafeIterator(c->db->dict); in keysCommand()
419 if (expireIfNeeded(c->db,keyobj) == 0) { in keysCommand()
550 ht = c->db->dict; in scanGenericCommand()
628 if (!filter && o == NULL && expireIfNeeded(c->db, kobj)) filter = 1; in scanGenericCommand()
676 addReplyLongLong(c,dictSize(c->db->dict)); in dbsizeCommand()
687 o = lookupKeyReadWithFlags(c->db,c->argv[1],LOOKUP_NOTOUCH); in typeCommand()
749 expire = getExpire(c->db,c->argv[1]); in renameGenericCommand()
750 if (lookupKeyWrite(c->db,c->argv[2]) != NULL) { in renameGenericCommand()
758 dbDelete(c->db,c->argv[2]); in renameGenericCommand()
760 dbAdd(c->db,c->argv[2],o); in renameGenericCommand()
761 if (expire != -1) setExpire(c->db,c->argv[2],expire); in renameGenericCommand()
762 dbDelete(c->db,c->argv[1]); in renameGenericCommand()
763 signalModifiedKey(c->db,c->argv[1]); in renameGenericCommand()
764 signalModifiedKey(c->db,c->argv[2]); in renameGenericCommand()
766 c->argv[1],c->db->id); in renameGenericCommand()
768 c->argv[2],c->db->id); in renameGenericCommand()
793 src = c->db; in moveCommand()
794 srcid = c->db->id; in moveCommand()
803 dst = c->db; in moveCommand()
814 o = lookupKeyWrite(c->db,c->argv[1]); in moveCommand()
819 expire = getExpire(c->db,c->argv[1]); in moveCommand()
840 int removeExpire(redisDb *db, robj *key) { in removeExpire() argument
843 serverAssertWithInfo(NULL,key,dictFind(db->dict,key->ptr) != NULL); in removeExpire()
844 return dictDelete(db->expires,key->ptr) == DICT_OK; in removeExpire()
847 void setExpire(redisDb *db, robj *key, long long when) { in setExpire() argument
851 kde = dictFind(db->dict,key->ptr); in setExpire()
853 de = dictReplaceRaw(db->expires,dictGetKey(kde)); in setExpire()
859 long long getExpire(redisDb *db, robj *key) { in getExpire() argument
863 if (dictSize(db->expires) == 0 || in getExpire()
864 (de = dictFind(db->expires,key->ptr)) == NULL) return -1; in getExpire()
868 serverAssertWithInfo(NULL,key,dictFind(db->dict,key->ptr) != NULL); in getExpire()
880 void propagateExpire(redisDb *db, robj *key) { in propagateExpire() argument
889 feedAppendOnlyFile(server.delCommand,db->id,argv,2); in propagateExpire()
890 replicationFeedSlaves(server.slaves,db->id,argv,2); in propagateExpire()
896 int expireIfNeeded(redisDb *db, robj *key) { in expireIfNeeded() argument
897 mstime_t when = getExpire(db,key); in expireIfNeeded()
926 propagateExpire(db,key); in expireIfNeeded()
928 "expired",key,db->id); in expireIfNeeded()
929 return dbDelete(db,key); in expireIfNeeded()
954 if (lookupKeyWrite(c->db,key) == NULL) { in expireGenericCommand()
968 serverAssertWithInfo(c,key,dbDelete(c->db,key)); in expireGenericCommand()
975 signalModifiedKey(c->db,key); in expireGenericCommand()
976 notifyKeyspaceEvent(NOTIFY_GENERIC,"del",key,c->db->id); in expireGenericCommand()
980 setExpire(c->db,key,when); in expireGenericCommand()
982 signalModifiedKey(c->db,key); in expireGenericCommand()
983 notifyKeyspaceEvent(NOTIFY_GENERIC,"expire",key,c->db->id); in expireGenericCommand()
1009 if (lookupKeyReadWithFlags(c->db,c->argv[1],LOOKUP_NOTOUCH) == NULL) { in ttlGenericCommand()
1015 expire = getExpire(c->db,c->argv[1]); in ttlGenericCommand()
1038 de = dictFind(c->db->dict,c->argv[1]->ptr); in persistCommand()
1042 if (removeExpire(c->db,c->argv[1])) { in persistCommand()
1055 if (lookupKeyRead(c->db,c->argv[j]) != NULL) touched++; in touchCommand()
1289 dbDelete(&server.db[0],key); in delKeysInSlot()