package com.ht;
import redis.clients.jedis.Jedis;
public class JedisTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String serverIp = "192.168.83.1";
int port = 6379;
Jedis jedis = new Jedis(serverIp, port);
jedis.connect();
int num = 1000;
long t1 = System.currentTimeMillis();
for(int i=0;i<num;i++){
jedis.set(""+i, "hello "+i);
}
long t2 = System.currentTimeMillis();
System.out.println("使用Redis set "+num+"条记录所花的时间:"+(t2-t1)+" ms");
for(int i=0;i<num;i++){
jedis.get(""+i);
}
long t3 = System.currentTimeMillis();
System.out.println("使用 Redis get "+num+"条记录所花的时间:"+(t3-t2)+" ms");
}
}
memcached:
package com.ht;
import com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient;
import com.alisoft.xplatform.asf.cache.memcached.client.SockIOPool;
public class TestMemcached {
public static void main(String[] args) {
String[] server = {"192.168.83.1:12345"};
//初始化SockIOPool,管理memcached连接池
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(server);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(100);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
//建立memcachedclient 对象
MemCachedClient client = new MemCachedClient();
int num =1000;
long t1 = System.currentTimeMillis();
for(int i=0;i<num;i++){
client.set(""+i, "hello "+i);
}
long t2 = System.currentTimeMillis();
System.out.println("使用Memcached set "+num+"条记录所花的时间:"+(t2-t1)+" ms");
for(int i=0;i<num;i++){
client.get(""+i);
}
long t3 = System.currentTimeMillis();
System.out.println("使用Memcached get "+num+"条记录所花的时间:"+(t3-t2)+" ms");
//for(int i=0;i<100;i++){
// /*将对象加入到memcached缓存*/
// boolean success = client.set("" + i, "Hello!");
// /*从memcached缓存中按key值取对象*/
// String result = (String) client.get("" + i);
// System.out.println(String.format("set( %d ): %s", i, success));
// System.out.println(String.format("get( %d ): %s", i, result));
//
//}
//
//for(int i=0;i<10;i++){
//client.delete(""+i);
//}
}
}
测试结果如下:
100000条数据
Redis:
使用Redis set 100000条记录所花的时间:31663 ms
使用 Redis get 100000条记录所花的时间:31518 ms
Memcached:
使用Memcached set 100000条记录所花的时间:23847 ms
使用Memcached get 100000条记录所花的时间:23080 ms
10000条数据
使用Redis set 10000条记录所花的时间:3354 ms
使用 Redis get 10000条记录所花的时间:3308 ms
memcached:
使用Memcached set 10000条记录所花的时间:2466 ms
使用Memcached get 10000条记录所花的时间:2366 ms
1000条数据:
使用Redis set 1000条记录所花的时间:415 ms
使用 Redis get 1000条记录所花的时间:356 ms
使用Memcached set 1000条记录所花的时间:376 ms
使用Memcached get 1000条记录所花的时间:291 ms