您的位置:首页 > 编程语言 > Java开发

jedis+java

2015-06-12 14:09 387 查看
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)

附件列表


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: