1
0
mirror of https://github.com/fluencelabs/redis synced 2025-03-31 14:51:04 +00:00

remove disk-store related comments

This commit is contained in:
Premysl Hruby 2012-03-27 18:46:51 +02:00
parent 8af9fe841c
commit b57dbdbba3
2 changed files with 1 additions and 27 deletions

@ -10,28 +10,6 @@ void SlotToKeyDel(robj *key);
* C-level DB API * C-level DB API
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
/* Important notes on lookup and disk store.
*
* When disk store is enabled on lookup we can have different cases.
*
* a) The key is in memory:
* - If the key is not in IO_SAVEINPROG state we can access it.
* As if it's just IO_SAVE this means we have the key in the IO queue
* but can't be accessed by the IO thread (it requires to be
* translated into an IO Job by the cache cron function.)
* - If the key is in IO_SAVEINPROG we can't touch the key and have
* to blocking wait completion of operations.
* b) The key is not in memory:
* - If it's marked as non existing on disk as well (negative cache)
* we don't need to perform the disk access.
* - if the key MAY EXIST, but is not in memory, and it is marked as IO_SAVE
* then the key can only be a deleted one. As IO_SAVE keys are never
* evicted (dirty state), so the only possibility is that key was deleted.
* - if the key MAY EXIST we need to blocking load it.
* We check that the key is not in IO_SAVEINPROG state before accessing
* the disk object. If it is in this state, we wait.
*/
robj *lookupKey(redisDb *db, robj *key) { robj *lookupKey(redisDb *db, robj *key) {
dictEntry *de = dictFind(db->dict,key->ptr); dictEntry *de = dictFind(db->dict,key->ptr);
if (de) { if (de) {
@ -161,8 +139,6 @@ int dbDelete(redisDb *db, robj *key) {
} }
} }
/* Empty the whole database.
* If diskstore is enabled this function will just flush the in-memory cache. */
long long emptyDb() { long long emptyDb() {
int j; int j;
long long removed = 0; long long removed = 0;

@ -270,9 +270,7 @@ robj *tryObjectEncoding(robj *o) {
/* Ok, this object can be encoded... /* Ok, this object can be encoded...
* *
* Can I use a shared object? Only if the object is inside a given * Can I use a shared object? Only if the object is inside a given range
* range and if the back end in use is in-memory. For disk store every
* object in memory used as value should be independent.
* *
* Note that we also avoid using shared integers when maxmemory is used * Note that we also avoid using shared integers when maxmemory is used
* because every object needs to have a private LRU field for the LRU * because every object needs to have a private LRU field for the LRU