acl/lib_acl_cpp/samples/session/session.cpp

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;
}