Lines Matching refs:key
36 void slotToKeyAdd(robj *key);
37 void slotToKeyDel(robj *key);
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()
141 robj *lookupKeyReadOrReply(client *c, robj *key, robj *reply) { in lookupKeyReadOrReply() argument
142 robj *o = lookupKeyRead(c->db, key); in lookupKeyReadOrReply()
147 robj *lookupKeyWriteOrReply(client *c, robj *key, robj *reply) { in lookupKeyWriteOrReply() argument
148 robj *o = lookupKeyWrite(c->db, key); in lookupKeyWriteOrReply()
157 void dbAdd(redisDb *db, robj *key, robj *val) { in dbAdd() argument
158 sds copy = sdsdup(key->ptr); in dbAdd()
161 serverAssertWithInfo(NULL,key,retval == DICT_OK); in dbAdd()
162 if (val->type == OBJ_LIST) signalListAsReady(db, key); in dbAdd()
163 if (server.cluster_enabled) slotToKeyAdd(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()
174 serverAssertWithInfo(NULL,key,de != NULL); 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()
207 sds key; in dbRandomKey() local
213 key = dictGetKey(de); in dbRandomKey()
214 keyobj = createStringObject(key,sdslen(key)); in dbRandomKey()
215 if (dictFind(db->expires,key)) { 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()
231 if (server.cluster_enabled) slotToKeyDel(key); in dbDelete()
265 robj *dbUnshareStringValue(redisDb *db, robj *key, robj *o) { in dbUnshareStringValue() argument
271 dbOverwrite(db,key,o); in dbUnshareStringValue()
305 void signalModifiedKey(redisDb *db, robj *key) { in signalModifiedKey() argument
306 touchWatchedKey(db,key); in signalModifiedKey()
392 robj *key; in randomkeyCommand() local
394 if ((key = dbRandomKey(c->db)) == NULL) { in randomkeyCommand()
399 addReplyBulk(c,key); in randomkeyCommand()
400 decrRefCount(key); in randomkeyCommand()
414 sds key = dictGetKey(de); in keysCommand() local
417 if (allkeys || stringmatchlen(pattern,plen,key,sdslen(key),0)) { in keysCommand()
418 keyobj = createStringObject(key,sdslen(key)); in keysCommand()
436 robj *key, *val = NULL; in scanCallback() local
440 key = createStringObject(sdskey, sdslen(sdskey)); in scanCallback()
442 key = dictGetKey(de); in scanCallback()
443 incrRefCount(key); in scanCallback()
445 key = dictGetKey(de); in scanCallback()
446 incrRefCount(key); in scanCallback()
450 key = dictGetKey(de); in scanCallback()
451 incrRefCount(key); in scanCallback()
457 listAddNodeTail(keys, key); in scanCallback()
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()
852 serverAssertWithInfo(NULL,key,kde != NULL); in setExpire()
859 long long getExpire(redisDb *db, robj *key) { in getExpire() argument
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
884 argv[1] = key; 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()
944 robj *key = c->argv[1], *param = c->argv[2]; in expireGenericCommand() local
954 if (lookupKeyWrite(c->db,key) == NULL) { in expireGenericCommand()
968 serverAssertWithInfo(c,key,dbDelete(c->db,key)); in expireGenericCommand()
973 rewriteClientCommandVector(c,2,aux,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()
1240 void slotToKeyAdd(robj *key) { in slotToKeyAdd() argument
1241 unsigned int hashslot = keyHashSlot(key->ptr,sdslen(key->ptr)); in slotToKeyAdd()
1243 zslInsert(server.cluster->slots_to_keys,hashslot,key); in slotToKeyAdd()
1244 incrRefCount(key); in slotToKeyAdd()
1247 void slotToKeyDel(robj *key) { in slotToKeyDel() argument
1248 unsigned int hashslot = keyHashSlot(key->ptr,sdslen(key->ptr)); in slotToKeyDel()
1250 zslDelete(server.cluster->slots_to_keys,hashslot,key); in slotToKeyDel()
1286 robj *key = n->obj; in delKeysInSlot() local
1288 incrRefCount(key); /* Protect the object while freeing it. */ in delKeysInSlot()
1289 dbDelete(&server.db[0],key); in delKeysInSlot()
1290 decrRefCount(key); in delKeysInSlot()