Unverified Commit bad67913 authored by Salvatore Sanfilippo's avatar Salvatore Sanfilippo Committed by GitHub
Browse files

Merge pull request #4679 from youjiali1995/fix-lru

Some commands will udpate lfu-counter many times in one call.
parents 44f2cfa6 aacecbc9
...@@ -187,9 +187,6 @@ void dbOverwrite(redisDb *db, robj *key, robj *val) { ...@@ -187,9 +187,6 @@ void dbOverwrite(redisDb *db, robj *key, robj *val) {
int saved_lru = old->lru; int saved_lru = old->lru;
dictReplace(db->dict, key->ptr, val); dictReplace(db->dict, key->ptr, val);
val->lru = saved_lru; val->lru = saved_lru;
/* LFU should be not only copied but also updated
* when a key is overwritten. */
updateLFU(val);
} else { } else {
dictReplace(db->dict, key->ptr, val); dictReplace(db->dict, key->ptr, val);
} }
...@@ -1359,7 +1356,7 @@ int *georadiusGetKeys(struct redisCommand *cmd, robj **argv, int argc, int *numk ...@@ -1359,7 +1356,7 @@ int *georadiusGetKeys(struct redisCommand *cmd, robj **argv, int argc, int *numk
for (i = 5; i < argc; i++) { for (i = 5; i < argc; i++) {
char *arg = argv[i]->ptr; char *arg = argv[i]->ptr;
/* For the case when user specifies both "store" and "storedist" options, the /* For the case when user specifies both "store" and "storedist" options, the
* second key specified would override the first key. This behavior is kept * second key specified would override the first key. This behavior is kept
* the same as in georadiusCommand method. * the same as in georadiusCommand method.
*/ */
if ((!strcasecmp(arg, "store") || !strcasecmp(arg, "storedist")) && ((i+1) < argc)) { if ((!strcasecmp(arg, "store") || !strcasecmp(arg, "storedist")) && ((i+1) < argc)) {
...@@ -1380,7 +1377,7 @@ int *georadiusGetKeys(struct redisCommand *cmd, robj **argv, int argc, int *numk ...@@ -1380,7 +1377,7 @@ int *georadiusGetKeys(struct redisCommand *cmd, robj **argv, int argc, int *numk
if(num > 1) { if(num > 1) {
keys[1] = stored_key; keys[1] = stored_key;
} }
*numkeys = num; *numkeys = num;
return keys; return keys;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment