jedis+java

  1. package com.liubo.redis;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import org.junit.Before;
    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    publicclassRedisClient{
    JedisPool pool;
    Jedis jedis;
    @Before
    publicvoid setUp(){
    pool =newJedisPool(newJedisPoolConfig(),"127.0.0.1");
    jedis = pool.getResource();
    }
    /**
    * key-value String 测试
    */
    @Test
    publicvoid testString(){
    // 1 key-value 存储string
    jedis.set("name","liubo");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 2 key 追加 value
    jedis.append("name"," hello");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 3 覆盖value
    jedis.set("name","boliu");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 4删除key 对应的记录
    jedis.del("name");
    System.out.println("jedis GET "+ jedis.get("name"));
    }
    /**
    * mset 测试
    */
    @Test
    publicvoid testMset(){
    jedis.mset("name","liubo","age","11");
    System.out.println("mset "+ jedis.mget("name","age"));
    // mset [liubo, 11]
    }
    /**
    * Map 测试
    */
    @Test
    publicvoid testMap(){
    Map<String,String> user =newHashMap<String,String>();
    user.put("name","liubo");
    user.put("password","123456");
    jedis.hmset("user", user);
    List<String> rsMap = jedis.hmget("user","password");
    List<String> rsMap2 = jedis.hmget("user","password","name");
    /**
    * /取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
    * //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key, 后面的key可以跟多个,是可变参数
    */
    System.out.println(rsMap);// [123456]
    System.out.println(rsMap2);// [123456, liubo]
    // 删除map中的某个键值
    jedis.hdel("user","password");
    System.out.println(jedis.hmget("user","pwd"));// 因为删除了,所以返回的是null
    System.out.println(jedis.hlen("user"));// 返回key为user的键中存放的值的个数1
    System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true
    System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key [pwd, name]
    System.out.println(jedis.hvals("user"));// 返回map对象中的所有value [minxr,
    // password]
    Iterator<String> iter = jedis.hkeys("user").iterator();
    while(iter.hasNext()){
    String key = iter.next();
    System.out.println(key +":"+ jedis.hmget("user", key));
    }
    }
    /**
    * jedis操作List
    */
    @Test
    publicvoid testList(){
    // 开始前,先移除所有的内容
    jedis.del("java framework");
    System.out.println(jedis.lrange("java framework",0,-1));
    // 先向key java framework中存放三条数据
    jedis.lpush("java framework","spring");
    jedis.lpush("java framework","struts");
    jedis.lpush("java framework","hibernate");
    // 再取出所有数据jedis.lrange是按范围取出,
    // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
    System.out.println(jedis.lrange("java framework",0,-1));
    }
    /**
    * jedis操作Set
    */
    @Test
    publicvoid testSet(){
    // 添加
    jedis.sadd("sname","minxr");
    jedis.sadd("sname","jarorwar");
    jedis.sadd("sname","闵晓荣");
    jedis.sadd("sanme","noname");
    // 移除noname
    jedis.srem("sname","noname");
    System.out.println(jedis.smembers("sname"));// 获取所有加入的value
    System.out.println(jedis.sismember("sname","minxr"));// 判断 minxr
    // 是否是sname集合的元素
    System.out.println(jedis.srandmember("sname"));
    System.out.println(jedis.scard("sname"));// 返回集合的元素个数
    }
    @Test
    publicvoid test()throwsInterruptedException{
    // keys中传入的可以用通配符
    System.out.println(jedis.keys("*"));// 返回当前库中所有的key [sose, sanme, name,
    // jarorwar, foo, sname, java
    // framework, user, braand]
    System.out.println(jedis.keys("*name"));// 返回的sname [sname, name]
    System.out.println(jedis.del("sanmdde"));// 删除key为sanmdde的对象 删除成功返回1
    // 删除失败(或者不存在)返回 0
    System.out.println(jedis.ttl("sname"));// 返回给定key的有效时间,如果是-1则表示永远有效
    jedis.setex("timekey",10,"min");// 通过此方法,可以指定key的存活(有效时间) 时间为秒
    Thread.sleep(5000);// 睡眠5秒后,剩余时间将为<=5
    System.out.println(jedis.ttl("timekey"));// 输出结果为5
    jedis.setex("timekey",1,"min");// 设为1后,下面再看剩余时间就是1了
    System.out.println(jedis.ttl("timekey"));// 输出结果为1
    System.out.println(jedis.exists("key"));// 检查key是否存在
    // System.out.println(jedis.rename("timekey","time"));
    System.out.println(jedis.get("timekey"));// 因为移除,返回为null
    System.out.println(jedis.get("time"));// 因为将timekey 重命名为time 所以可以取得值
    // min
    // jedis 排序
    // 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
    jedis.del("a");// 先清除数据,再加入数据进行测试
    jedis.rpush("a","1");
    jedis.lpush("a","6");
    jedis.lpush("a","3");
    jedis.lpush("a","9");
    System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
    System.out.println(jedis.sort("a"));// [1, 3, 6, 9] //输入排序后结果
    System.out.println(jedis.lrange("a",0,-1));
    }
    @Test
    publicvoid testOther(){
    // 清空数据
    System.out.println(jedis.flushDB());
    System.out.println(jedis.echo("foo"));
    // 判断key否存在
    System.out.println(jedis.exists("foo"));
    jedis.set("key","values");
    System.out.println(jedis.exists("key"));
    // 若key不存在,则存储
    jedis.setnx("foo","foo not exits");
    System.out.println(jedis.get("foo"));
    // 设置key的有效期,并存储数据 2秒
    jedis.setex("foo",2,"foo not exits");
    System.out.println(jedis.get("foo"));
    try{
    Thread.sleep(3000);
    }catch(InterruptedException e){
    }
    // 清空数据
    System.out.println(jedis.flushDB());
    // 添加数据
    jedis.lpush("lists","vector");
    jedis.lpush("lists","ArrayList");
    jedis.lpush("lists","LinkedList");
    // 数组长度
    System.out.println(jedis.llen("lists"));
    // 排序
    System.out.println(jedis.sort("lists"));
    // 字串
    System.out.println(jedis.lrange("lists",0,3));
    // 修改列表中单个值
    jedis.lset("lists",0,"hello list!");
    // 获取列表指定下标的值
    System.out.println(jedis.lindex("lists",1));
    // 删除列表指定下标的值
    System.out.println(jedis.lrem("lists",1,"vector"));
    // 删除区间以外的数据
    System.out.println(jedis.ltrim("lists",0,1));
    // 列表出栈
    System.out.println(jedis.lpop("lists"));
    // 整个列表值
    System.out.println(jedis.lrange("lists",0,-1));
    // 清空数据
    System.out.println(jedis.flushDB());
    // 添加数据
    jedis.sadd("sets","HashSet");
    jedis.sadd("sets","SortedSet");
    jedis.sadd("sets","TreeSet");
    // 判断value是否在列表中
    System.out.println(jedis.sismember("sets","TreeSet"));
    ;
    // 整个列表值
    System.out.println(jedis.smembers("sets"));
    // 删除指定元素
    System.out.println(jedis.srem("sets","SortedSet"));
    // 出栈
    System.out.println(jedis.spop("sets"));
    System.out.println(jedis.smembers("sets"));
    //
    jedis.sadd("sets1","HashSet1");
    jedis.sadd("sets1","SortedSet1");
    jedis.sadd("sets1","TreeSet");
    jedis.sadd("sets2","HashSet2");
    jedis.sadd("sets2","SortedSet1");
    jedis.sadd("sets2","TreeSet1");
    // 交集
    System.out.println(jedis.sinter("sets1","sets2"));
    // 并集
    System.out.println(jedis.sunion("sets1","sets2"));
    // 差集
    System.out.println(jedis.sdiff("sets1","sets2"));
    // 清空数据
    System.out.println(jedis.flushDB());
    // 添加数据
    jedis.zadd("zset",10.1,"hello");
    jedis.zadd("zset",10.0,":");
    jedis.zadd("zset",9.0,"zset");
    jedis.zadd("zset",11.0,"zset!");
    // 元素个数
    System.out.println(jedis.zcard("zset"));
    // 元素下标
    System.out.println(jedis.zscore("zset","zset"));
    // 集合子集
    System.out.println(jedis.zrange("zset",0,-1));
    // 删除元素
    System.out.println(jedis.zrem("zset","zset!"));
    System.out.println(jedis.zcount("zset",9.5,10.5));
    // 整个集合值
    System.out.println(jedis.zrange("zset",0,-1));
    }
    }
    
    
    
    
    来自为知笔记(Wiz)
    
    
    
    附件列表
    
     
    

      

posted @ 2015-05-09 20:52  liubo6  阅读(417)  评论(0编辑  收藏  举报