jedis+java

来源:互联网 发布:淘宝买东西怎么退换货 编辑:程序博客网 时间:2024/06/03 22:06
  • 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;@Beforepublicvoid setUp(){pool =newJedisPool(newJedisPoolConfig(),"127.0.0.1");jedis = pool.getResource();}/*** key-value String 测试*/@Testpublicvoid testString(){// 1 key-value 存储stringjedis.set("name","liubo");System.out.println("jedis GET "+ jedis.get("name"));// 2 key 追加 valuejedis.append("name"," hello");System.out.println("jedis GET "+ jedis.get("name"));// 3 覆盖valuejedis.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 测试*/@Testpublicvoid testMset(){jedis.mset("name","liubo","age","11");System.out.println("mset "+ jedis.mget("name","age"));// mset [liubo, 11]}/*** Map 测试*/@Testpublicvoid 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"));// 因为删除了,所以返回的是nullSystem.out.println(jedis.hlen("user"));// 返回key为user的键中存放的值的个数1System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回trueSystem.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*/@Testpublicvoid 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*/@Testpublicvoid testSet(){// 添加jedis.sadd("sname","minxr");jedis.sadd("sname","jarorwar");jedis.sadd("sname","闵晓荣");jedis.sadd("sanme","noname");// 移除nonamejedis.srem("sname","noname");System.out.println(jedis.smembers("sname"));// 获取所有加入的valueSystem.out.println(jedis.sismember("sname","minxr"));// 判断 minxr// 是否是sname集合的元素System.out.println(jedis.srandmember("sname"));System.out.println(jedis.scard("sname"));// 返回集合的元素个数}@Testpublicvoid 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// 删除失败(或者不存在)返回 0System.out.println(jedis.ttl("sname"));// 返回给定key的有效时间,如果是-1则表示永远有效jedis.setex("timekey",10,"min");// 通过此方法,可以指定key的存活(有效时间) 时间为秒Thread.sleep(5000);// 睡眠5秒后,剩余时间将为<=5System.out.println(jedis.ttl("timekey"));// 输出结果为5jedis.setex("timekey",1,"min");// 设为1后,下面再看剩余时间就是1了System.out.println(jedis.ttl("timekey"));// 输出结果为1System.out.println(jedis.exists("key"));// 检查key是否存在// System.out.println(jedis.rename("timekey","time"));System.out.println(jedis.get("timekey"));// 因为移除,返回为nullSystem.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));}@Testpublicvoid 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)附件列表 

      

  • 0 0