提交 2ed22c8b 编写于 作者: A antirez

MSET fixed, was not able to replace keys already set for a stupid bug

上级 8d0490e7
......@@ -4128,9 +4128,16 @@ static void msetGenericCommand(redisClient *c, int nx) {
}
for (j = 1; j < c->argc; j += 2) {
dictAdd(c->db->dict,c->argv[j],c->argv[j+1]);
incrRefCount(c->argv[j]);
incrRefCount(c->argv[j+1]);
int retval;
retval = dictAdd(c->db->dict,c->argv[j],c->argv[j+1]);
if (retval == DICT_ERR) {
dictReplace(c->db->dict,c->argv[j],c->argv[j+1]);
incrRefCount(c->argv[j+1]);
} else {
incrRefCount(c->argv[j]);
incrRefCount(c->argv[j+1]);
}
removeExpire(c->db,c->argv[j]);
}
server.dirty += (c->argc-1)/2;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册