mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-05 05:18:53 +08:00
72 lines
1.6 KiB
C++
72 lines
1.6 KiB
C++
// session.cpp : 定义控制台应用程序的入口点。
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "session.h"
|
|
|
|
static void usage(const char* procname)
|
|
{
|
|
printf("usage: %s -h [help]\r\n"
|
|
"-s server_addr\r\n"
|
|
"-n count\r\n"
|
|
"-c max_threads\r\n"
|
|
"-a action[memcache|memcache_delay|redis]\r\n", procname);
|
|
}
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
char addr[256], action[32];
|
|
int nloop = 10, ch, max_threads = 1;
|
|
|
|
acl::acl_cpp_init();
|
|
|
|
acl::safe_snprintf(action, sizeof(action), "redis");
|
|
acl::safe_snprintf(addr, sizeof(addr), "192.168.0.250:11211");
|
|
|
|
while ((ch = getopt(argc, argv, "hs:n:c:a:")) > 0)
|
|
{
|
|
switch (ch)
|
|
{
|
|
case 'h':
|
|
usage(argv[0]);
|
|
return 0;
|
|
case 's':
|
|
acl::safe_snprintf(addr, sizeof(addr), "%s", optarg);
|
|
break;
|
|
case 'n':
|
|
nloop = atoi(optarg);
|
|
if (nloop <= 0)
|
|
nloop = 10;
|
|
break;
|
|
case 'c':
|
|
max_threads = atoi(optarg);
|
|
break;
|
|
case 'a':
|
|
acl::safe_snprintf(action, sizeof(action), "%s", optarg);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
printf("nloop: %d, max_threads: %d\r\n", nloop, max_threads);
|
|
|
|
if (strcasecmp(action, "memcache") == 0)
|
|
test_memcache_session(addr, nloop);
|
|
else if (strcasecmp(action, "memcache_delay") == 0)
|
|
test_memcache_session_delay(addr);
|
|
else if (strcasecmp(action, "redis") == 0)
|
|
test_redis_session(addr, nloop, max_threads);
|
|
else if (strcasecmp(action, "redis_attrs") == 0)
|
|
test_redis_session_attrs(addr, nloop);
|
|
else
|
|
printf("unknown action: %s\r\n", action);
|
|
|
|
#ifdef WIN32
|
|
printf("enter any key to exit\r\n");
|
|
getchar();
|
|
#endif
|
|
return 0;
|
|
}
|
|
|