提交 52189cb9 编写于 作者: A antirez

Use sdscatfmt() in getClientInfoString() to make it faster.

上级 4acc3daa
...@@ -1258,23 +1258,23 @@ sds getClientInfoString(redisClient *client) { ...@@ -1258,23 +1258,23 @@ sds getClientInfoString(redisClient *client) {
if (emask & AE_READABLE) *p++ = 'r'; if (emask & AE_READABLE) *p++ = 'r';
if (emask & AE_WRITABLE) *p++ = 'w'; if (emask & AE_WRITABLE) *p++ = 'w';
*p = '\0'; *p = '\0';
return sdscatprintf(sdsempty(), return sdscatfmt(sdsempty(),
"addr=%s fd=%d name=%s age=%ld idle=%ld flags=%s db=%d sub=%d psub=%d multi=%d qbuf=%lu qbuf-free=%lu obl=%lu oll=%lu omem=%lu events=%s cmd=%s", "addr=%s fd=%i name=%s age=%I idle=%I flags=%s db=%i sub=%i psub=%i multi=%i qbuf=%U qbuf-free=%U obl=%U oll=%U omem=%U events=%s cmd=%s",
peerid, peerid,
client->fd, client->fd,
client->name ? (char*)client->name->ptr : "", client->name ? (char*)client->name->ptr : "",
(long)(server.unixtime - client->ctime), (long long)(server.unixtime - client->ctime),
(long)(server.unixtime - client->lastinteraction), (long long)(server.unixtime - client->lastinteraction),
flags, flags,
client->db->id, client->db->id,
(int) dictSize(client->pubsub_channels), (int) dictSize(client->pubsub_channels),
(int) listLength(client->pubsub_patterns), (int) listLength(client->pubsub_patterns),
(client->flags & REDIS_MULTI) ? client->mstate.count : -1, (client->flags & REDIS_MULTI) ? client->mstate.count : -1,
(unsigned long) sdslen(client->querybuf), (unsigned long long) sdslen(client->querybuf),
(unsigned long) sdsavail(client->querybuf), (unsigned long long) sdsavail(client->querybuf),
(unsigned long) client->bufpos, (unsigned long long) client->bufpos,
(unsigned long) listLength(client->reply), (unsigned long long) listLength(client->reply),
getClientOutputBufferMemoryUsage(client), (unsigned long long) getClientOutputBufferMemoryUsage(client),
events, events,
client->lastcmd ? client->lastcmd->name : "NULL"); client->lastcmd ? client->lastcmd->name : "NULL");
} }
......
...@@ -76,6 +76,7 @@ sds sdscatprintf(sds s, const char *fmt, ...) ...@@ -76,6 +76,7 @@ sds sdscatprintf(sds s, const char *fmt, ...)
sds sdscatprintf(sds s, const char *fmt, ...); sds sdscatprintf(sds s, const char *fmt, ...);
#endif #endif
sds sdscatfmt(sds s, char const *fmt, ...);
sds sdstrim(sds s, const char *cset); sds sdstrim(sds s, const char *cset);
void sdsrange(sds s, int start, int end); void sdsrange(sds s, int start, int end);
void sdsupdatelen(sds s); void sdsupdatelen(sds s);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册