直接上测试代码
代码部分是从http://blog.csdn.net/u010326711/article/details/52806740摘的
JedisPoolTool .java
package com.hdu.zx.jedis.util;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisPoolTool {
private static HostAndPort hostAndPort = new HostAndPort("120.27.49.173", 6379);
private static JedisPool pool = null;
private static JedisPoolTool myPool = new JedisPoolTool();
private JedisPoolTool(){
initPool();
}
public static JedisPoolTool getInstance(){
return myPool;
}
/**
* 初始化连接池
* */
private void initPool(){
JedisPoolConfig config = new JedisPoolConfig();
pool = new JedisPool(config,hostAndPort.getHost(),hostAndPort.getPort(),2000);
}
/**
* 获得一个jedis
* */
public synchronized Jedis getJedis(){
if(pool==null)
initPool();
Jedis jedis = pool.getResource();
return jedis;
}
/**
* 释放一个连接
* */
public void closeJedis(Jedis jedis){
if(jedis!=null)
jedis.close();
}
}
JedisTest.java
package com.hdu.zx.jedis.jedispool;
/***
* @author F-zx
*
* 该类用于测试所有的list等方法以及pool
*
*
*/
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.hdu.zx.jedis.util.JedisPoolTool;
import redis.clients.jedis.Jedis;
public class JedisTest {
private static Jedis jedis = null;
public static void main(String[] args) {
JedisPoolTool poolTool = JedisPoolTool.getInstance();
jedis = poolTool.getJedis();
// testList();
// testMap();
testSet();
// jedis.srem("user", "liqian");
}
/**
* 测试list
*
*/
public static void testList(){
if(jedis == null)
return ;
//有该key则删除
jedis.del("databse");
jedis.lpush("databse", "sql server");
jedis.lpush("database", "mysql");
jedis.lpush("database", "monggodb");
jedis.lpush("database", "redis");
jedis.lpush("database", "redis");
//-1表示到最后一个位置
//jedis.llen()获取长度
// jedis.llen("database");
System.out.println(jedis.lrange("database", 0, -1));
}
/***
* 测试map类 <b>注意:</b>使用过testSet之后不能再使用testMap因为为同一个key:user
*
*/
public static void testMap(){
if(jedis == null)
return ;
Map<String, String> map = new HashMap<String, String>();
map.put("name", "zhuxin");
map.put("age", "22");
map.put("qq", "499768985");
jedis.hmset("user",map);
java.util.List<String> list = jedis.hmget("user", "name","age","qq");
System.out.println(list);
// 删除map中的某个键值
// jedis.hdel("user", "age");
System.out.println(jedis.hmget("user", "age")); // 因为删除了,所以返回的是null
System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数2
System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true
System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key
System.out.println(jedis.hvals("user"));// 返回map对象中的所有value
Iterator<String> iterator = jedis.hkeys("user").iterator();
while(iterator.hasNext()){
String key = iterator.next();
System.out.println(key+": "+jedis.hmget("user", key));
}
}
/**
* 测试set<b>注意:</b>使用过testSet之后不能再使用testMap因为为同一个key:user
* */
public static void testSet(){
if(jedis==null)
return ;
//由于是set将重复的数据删除
jedis.sadd("user", "liqian");
jedis.sadd("user", "liqian");
jedis.sadd("user", "zhuxin");
jedis.sadd("user", "liming");
jedis.sadd("user", "axiba");
jedis.sadd("user", "hello");
//对删除后的数据再删除看是否会存在错误,返回的是long类型
//结果为1 0 所有对于没有的元素会返回0
System.out.println(jedis.srem("user", "zhuxin"));
System.out.println(jedis.srem("user", "zhuxin"));
// System.out.println(jedis.srem("user", "none"));
System.out.println(jedis.smembers("user"));//获取所有value
System.out.println(jedis.sismember("user", "zhuxin"));//判断 who 是否是user集合的元素
System.out.println(jedis.scard("user"));//返回集合的元素个数
//随机返回
System.out.println(jedis.srandmember("user"));
System.out.println(jedis.srandmember("user"));
System.out.println(jedis.srandmember("user"));
System.out.println(jedis.srandmember("user"));
}
/**
*
* */
}