目的是測試memcached各方法調用所用的時間。
public class MemcacheGetTest extends AbstractTestServlet{
@Override
public void init() throws ServletException {
String[] servers = { "192.168.1.5:11211" };
Integer[] weights = {3, 2};
// 創建一個Socked連接池實例
SockIOPool pool = SockIOPool.getInstance();
// 向連接池設置服務器和權重
pool.setServers(servers);
pool.setWeights(weights);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
pool.initialize();
}
@Override
public void _service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
MemCachedClient memCachedClient = new MemCachedClient();
memCachedClient.set("foo", "This is a test String");
// String bar = memCachedClient.get("foo").toString();
memCachedClient.replace("foo", "replace");
long i=memCachedClient.incr("foo", 1);
long j=memCachedClient.decr("foo", 1);
String bar = memCachedClient.get("foo").toString();
String bar1=memCachedClient.gets("foo").toString();
memCachedClient.flushAll();
System.out.println(bar);
System.out.println(bar1);
System.out.println(i);
System.out.println(j);
memCachedClient.delete("foo");
System.out.println(bar);
System.out.println(i);
}
}
public abstract class AbstractTest extends HttpServlet {
private static final long serialVersionUID = -8837205738090956963L;
Logger logger = LoggerFactory.getLogger(this.getClass());
private long startTime;
private long duration;
protected void testa() {
Thread.currentThread().setName("nbs." + Thread.currentThread().getId());
before();
after();
}
private void before() {
startTime = System.nanoTime();
logger.debug(" start :{}", startTime);
}
public abstract void test();
private void after() {
long end = System.nanoTime();
duration = end - startTime;
DecimalFormat df = new DecimalFormat("0.0000");
logger.debug("duration :{} ms.", df.format(duration / 1000000.0));
}
}