diff --git a/redis-benchmark.c b/redis-benchmark.c index 06057b0debacb03c77d2e5001d6bb3c6dcaf7252..123d81180e76a76dca76fe298d81ff66f34dfe1a 100644 --- a/redis-benchmark.c +++ b/redis-benchmark.c @@ -464,7 +464,7 @@ void parseOptions(int argc, char **argv) { printf(" -n Total number of requests (default 10000)\n"); printf(" -d Data size of SET/GET value in bytes (default 2)\n"); printf(" -k 1=keep alive 0=reconnect (default 1)\n"); - printf(" -r Use random keys for SET/GET/INCR\n"); + printf(" -r Use random keys for SET/GET/INCR, random values for SADD\n"); printf(" Using this option the benchmark will get/set keys\n"); printf(" in the form mykey_rand000000012456 instead of constant\n"); printf(" keys, the argument determines the max\n"); @@ -595,6 +595,24 @@ int main(int argc, char **argv) { aeMain(config.el); endBenchmark("LPOP"); + prepareForBenchmark(); + c = createClient(); + if (!c) exit(1); + c->obuf = sdscat(c->obuf,"SADD myset 24\r\ncounter_rand000000000000\r\n"); + prepareClientForReply(c,REPLY_RETCODE); + createMissingClients(c); + aeMain(config.el); + endBenchmark("SADD"); + + prepareForBenchmark(); + c = createClient(); + if (!c) exit(1); + c->obuf = sdscat(c->obuf,"SPOP myset\r\n"); + prepareClientForReply(c,REPLY_BULK); + createMissingClients(c); + aeMain(config.el); + endBenchmark("SPOP"); + prepareForBenchmark(); c = createClient(); if (!c) exit(1);