Set:
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.sadd("person1","hyf","lls");
jedis.sadd("person1","lms");
jedis.sadd("person1","hyf1","lls1");
jedis.sadd("person1","lms1");
//获取set的所有key
Set<String> person1 = jedis.smembers("person1");
for (String s : person1) {
System.out.println(s);
}
System.out.println();
System.out.println(jedis.smembers("person1"));
//随机pop掉
String spop = jedis.spop("person1");
System.out.println(spop);
System.out.println(jedis.smembers("person1"));
//是否存在这个key
Boolean sismember = jedis.sismember("person1", "hyf");
System.out.println(sismember);
//查看set key个数
Long scard = jedis.scard("person1");
System.out.println(scard);
//删指定元素
jedis.srem("person1","hyf1");
System.out.println(jedis.scard("person1"));
System.out.println("---------------------------------");
// 在set中随机搞几个元素
List<String> list = jedis.srandmember("person1", 2);
for (String s : list) {
System.out.print(s+" ");
}
System.out.println();
//set1的key转移到set2
jedis.smove("set1","set2","key");
ZSet:
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.zadd("zset01",99.0,"wjz");
jedis.zadd("zset01",new HashMap<String,Double>(){
{
put("lb",60.00);
put("hyf",80.00);
put("lls",70.00);
}
});
Set<String> zset01 = jedis.zrange("zset01", 0, -1);
for (String s : zset01) {
System.out.println(s);
}
System.out.println();
//带上score的结构是Tuple(暂时不知道是啥 反正有key 和 value)
Set<Tuple> zset011 = jedis.zrangeWithScores("zset01", 0, -1);
for (Tuple tuple : zset011) {
System.out.println(tuple.getElement()+":"+tuple.getScore());
}
System.out.println();
//通过限定score段查询 可以设置 limit 即第3第4个参数 从哪个下标开始的后几个元素
Set<String> zset012 = jedis.zrangeByScore("zset01", 70, 90,1,2);
for (String s : zset012) {
System.out.print(s+" ");
}
System.out.println();
// result:
// lb:60.0
// lls:70.0
// hyf:80.0
// wjz:99.0
//删除set的指定key
jedis.zrem("zset01","lb");
//key数量
System.out.println(jedis.zcard("zset01"));
//统计分数段key个数
jedis.zcount("zset01",70,80);
//查看key排名 分数低的优先,下标从0开始
System.out.println(jedis.zrank("zset01", "lls"));
//查看某个键的值
jedis.zscore("zset01","wjz");
System.out.println("-----------------");
//利用(key)读取翻转的zset
// Set<String> zrevrange = jedis.zrevrange("zset01", 0, -1);
// for (String s : zrevrange) {
// System.out.println(s);
// }
Set<String> zset02 = jedis.zrange("zset01", 0, -1);
for (String s : zset02) {
System.out.println(s);
}
System.out.println("-----------------");
//利用(score)读取翻转的zset (这个返回值是个long 怪怪的,感觉没用?)
jedis.zremrangeByScore("zset01",100,70);