mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 09:00:51 +00:00
Optimize set command with ex/px when updating aof.
This commit is contained in:
parent
530fcf8687
commit
86e9f48a0c
@ -536,16 +536,16 @@ void feedAppendOnlyFile(struct redisCommand *cmd, int dictid, robj **argv, int a
|
|||||||
buf = catAppendOnlyGenericCommand(buf,3,tmpargv);
|
buf = catAppendOnlyGenericCommand(buf,3,tmpargv);
|
||||||
decrRefCount(tmpargv[0]);
|
decrRefCount(tmpargv[0]);
|
||||||
buf = catAppendOnlyExpireAtCommand(buf,cmd,argv[1],argv[2]);
|
buf = catAppendOnlyExpireAtCommand(buf,cmd,argv[1],argv[2]);
|
||||||
} else if (cmd->proc == setCommand) {
|
} else if (cmd->proc == setCommand && argc > 3) {
|
||||||
int i;
|
int i;
|
||||||
robj *exarg = NULL, *pxarg = NULL;
|
robj *exarg = NULL, *pxarg = NULL;
|
||||||
/* Translate SET [EX seconds][PX milliseconds] to SET and PEXPIREAT */
|
/* Translate SET [EX seconds][PX milliseconds] to SET and PEXPIREAT */
|
||||||
buf = catAppendOnlyGenericCommand(buf,3,argv);
|
buf = catAppendOnlyGenericCommand(buf,3,argv);
|
||||||
for (i = 3; i < argc; i ++) {
|
for (i = 3; i < argc; i ++) {
|
||||||
if (sdsEncodedObject(argv[i]) && !strcasecmp(argv[i]->ptr, "ex"))
|
if (!strcasecmp(argv[i]->ptr, "ex"))
|
||||||
exarg = argv[i+1];
|
exarg = argv[i+1];
|
||||||
|
|
||||||
if (sdsEncodedObject(argv[i]) && !strcasecmp(argv[i]->ptr, "px"))
|
if (!strcasecmp(argv[i]->ptr, "px"))
|
||||||
pxarg = argv[i+1];
|
pxarg = argv[i+1];
|
||||||
}
|
}
|
||||||
serverAssert(!(exarg && pxarg));
|
serverAssert(!(exarg && pxarg));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user