package com.bgs.jedis; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisPool; import java.util.*; public class TestJedis { public static void main(String[] args) { /* //测试jedis连接 Jedis jedis = new Jedis("192.168.44.9",6379); System.out.println(jedis.keys("*"));*/ //jedis连接池的使用 JedisPool jedisPool = new JedisPool("192.168.44.9",6379); Jedis jedis2 = jedisPool.getResource(); jedis2.set("key1","val1"); String key1 = jedis2.get("key1"); System.out.println(key1); /* //jedis集群的使用 Set<HostAndPort> nodes = new HashSet<>(); nodes.add(new HostAndPort("192.168.44.9",7001)); nodes.add(new HostAndPort("192.168.44.9",7002)); nodes.add(new HostAndPort("192.168.44.9",7003)); nodes.add(new HostAndPort("192.168.44.9",7004)); nodes.add(new HostAndPort("192.168.44.9",7005)); nodes.add(new HostAndPort("192.168.44.9",7006)); JedisCluster jedisCluster = new JedisCluster(nodes); jedisCluster.set("k1","v1"); System.out.println(jedisCluster.get("k1")); //jedis遍历set集合 JedisPool jedisPool2 = new JedisPool("192.168.44.9",6379); Jedis jedis3 = jedisPool.getResource(); jedis.set("k2","v2"); jedis.set("k3","v3"); Set<String> keys = jedis.keys("*"); for (String string:keys){ System.out.println(string); } //迭代器遍历 Iterator<String> iterator = keys.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } //jedis是否存中key值 System.out.println(jedis.exists("k1")); System.out.println(jedis.exists("k2")); System.out.println(jedis.ttl("k1")); //把当前库中的剪切到其他库 *//*Long j11 = jedis.move("j1", 2); System.out.println("把当前库中的剪切到其他库"+j11);*//* //为给定的key设置过期时间 *//*Long m2 = jedis.expire("j3", 21); System.out.println("为给定的key设置过期时间"+m2);*//* //跟expire的作用一样:为给定的key设置过期时间 *//* Long j21 = jedis.pexpire("j2", 20); System.out.println("为给定的key设置过期时间"+j21);*//* //查看还有多少秒过期,-1表示永不过期,-2表示已经过期 *//*Long ll = jedis.ttl("j3"); System.out.println("过期剩余时间:"+ll);*//* //查看你的key是什么类型 *//*String ff = jedis.type("j3"); System.out.println("查看你的key是什么类型:"+ff);*//* //String //在原有的value后面追加 Long j3 = jedis.append("j3", "66555441"); System.out.println("在原有的value后面追加:"+j3); //查看当前value的长度 Long j31 = jedis.strlen("j3"); System.out.println("查看当前value的长度:"+j31); //递增 每次+1 jedis.set("shu","11"); System.out.println(jedis.get("shu")); Long shu = jedis.incr("shu"); System.out.println("递增 每次+1:"+shu); //递减 每次-1 Long shu1 = jedis.decr("shu"); System.out.println("递减 每次-1:"+shu1); //每次递增步长的长度 Long shu2 = jedis.incrBy("shu", 50); System.out.println("每次递增步长的长度50:"+shu2); //每次递减步长的长度 Long shu3 = jedis.decrBy("shu", 40); System.out.println("每次递减步长的长度40:"+shu3); //获取指定区间范围的值 *//*jedis.set("cv","keaidexiaoxiannv"); String cv = jedis.getrange("cv", 0, 9); System.out.println("获取指定区间范围的值:"+cv);*//* //设置指定区间范围的值 *//*Long setrange = jedis.setrange("cv", 0, "dada"); System.out.println("设置指定区间范围的值:"+setrange);*//* //先判断当前key是否存在,存在则报错,不存在才会进行创建 *//*Long setnx = jedis.setnx("vbn", "vbn"); System.out.println("vbn:"+setnx); Long setnx1 = jedis.setnx("cv", "ccc"); System.out.println("ccc:"+setnx1);*//* //list //左添加 Long list1 = jedis.lpush("list1","s1","s2","s3","s4","s5"); System.out.println("左添加:"+list1); //右添加 Long rpush = jedis.rpush("list2", "d1", "d2", "d3", "d4"); System.out.println("右添加:"+rpush); //取值范围:下标:一组值 *//*List<String> list11 = jedis.lrange("list1", 0, 3); //0 -1就是取全部 System.out.println("取值范围开始结束:"+list11);*//* //用于移除并返回列表的第一个元素 *//*String list12 = jedis.lpop("list1"); System.out.println("用于移除并返回列表的第一个元素:"+list12);*//* //用于移除并返回列表的最后一个元素 *//*String list13 = jedis.rpop("list1"); System.out.println("用于移除并返回列表的最后一个元素:"+list13);*//* //按照索引下标获得元素(从上到下) *//*String list2 = jedis.lindex("list2", 3); System.out.println("按照索引下标获得元素(从上到下):"+list2);*//* //在指定的列表中删除指定个数的value *//*Long lrem = jedis.lrem("list2", 1, "d1"); System.out.println("在指定的列表中删除指定个数的value:"+lrem);*//* //截取指定范围的值后再赋给当前key *//*String list11 = jedis.ltrim("list1", 0, 1); System.out.println("截取指定范围的值后再赋给当前key:"+list11);*//* //给指定的下标赋值 *//*String lset = jedis.lset("list1", 1, "xixi"); System.out.println("给指定的下标赋值:"+lset);*//* //在指定的位置插入数据before/after *//*Long linsert = jedis.linsert("list1", BinaryClient.LIST_POSITION.BEFORE, "s1", "hh1"); System.out.println("在指定的位置插入数据:"+linsert); 获取集合的长度 Long length = jedis.llen("list1"); *//* //set //添加set集合 Long sadd = jedis.sadd("set1", "s1", "s2", "s3", "s4", "s5", "s6", "s6","s7"); Long sadd1 = jedis.sadd("set2", "s1", "s2", "s3", "s4", "s5", "s6", "s6"); System.out.println("添加set集合:"+sadd); System.out.println("添加set集合:"+sadd1); //返回集合中的所有成员 Set<String> set1 = jedis.smembers("set1"); System.out.println("返回集合中的所有成员:"+set1); for(String s:set1){ System.out.println(s); } //判断成员元素是否是集合的成员 Boolean sismember = jedis.sismember("set1", "s1"); System.out.println("判断成员元素是否是集合的成员:"+sismember); //获取集合里面的元素个数 Long set11 = jedis.scard("set1"); System.out.println("获取集合里面的元素个数:"+set11); //删除集合中的元素 *//*Long srem = jedis.srem("set1", "s1","s2"); System.out.println("删除集合中的元素:"+srem);*//* //随机出几个数 List<String> set12 = jedis.srandmember("set1", 4); System.out.println("随机出几个数:"+set12); Iterator<String> iterator1 = set12.iterator(); while (iterator1.hasNext()){ String next = iterator1.next(); System.out.println(next); } //随机出栈(出一个) String set13 = jedis.spop("set1"); System.out.println("随机出栈(出一个):"+set13); //作用是将key1里的某个值赋给key2 Long smove = jedis.smove("set1", "set2", "s1"); System.out.println("将key1里的某个值赋给key2:"+smove); //sdiff 差集 Set<String> sdiff = jedis.sdiff("set1", "set2"); System.out.println("差集:"+sdiff); for(String ss:sdiff){ System.out.println(ss); } //sinter 交集 Set<String> sinter = jedis.sinter("set1", "set2"); System.out.println("交集:"+sinter); for(String ss1:sinter){ System.out.println(ss1); } //sunion 并集 Set<String> sunion = jedis.sunion("set1", "set2"); System.out.println("并集:"+sunion); for(String s2s:sunion){ System.out.println(s2s); } //hash //hset:设置hash集合中的数据 Long hset = jedis.hset("h1", "id", "7"); System.out.println("设置hash集合中的数据:"+hset); //hget:获取哈市集合中的数据 String hget = jedis.hget("h1", "id"); System.out.println("获取哈市集合中的数据:"+hget); //hmset:设置hahs集合中的多个数据 Map<String, String> map = new HashMap<String, String>(); map.put("name", "xinxin"); map.put("age", "22"); map.put("qq", "123456"); jedis.hmset("user",map); System.out.println(jedis.hmset("user",map)); //hmget:获取多个数据 System.out.println(jedis.hmget("user", "age","name")); //hgetall:以key-value的方式获取hash集合中的数据 //hdel:删除hash集合中的一组键值对 jedis.hdel("user","age"); System.out.println(jedis.hmget("user", "age")); //因为删除了,所以返回的是null //hlen:获取当前hash集合的长度 System.out.println("hlen:获取当前hash集合的长度:"+jedis.hlen("user")); //返回key为user的键中存放的值的个数2 //hexists key 属性名 :在key里面是否有某个值的key System.out.println("hexists key 属性名 :在key里面是否有某个值的key:"+jedis.exists("user"));//是否存在key为user的记录 返回true //hkeys:获取hash中的所有key System.out.println("hkeys:获取hash中的所有key:"+jedis.hkeys("user"));//返回map对象中的所有key //hvals:获取hash中的所有value System.out.println("hvals:获取hash中的所有value:"+jedis.hvals("user"));//返回map对象中的所有value //key-value形式 Iterator<String> iter=jedis.hkeys("user").iterator(); while (iter.hasNext()){ String key = iter.next(); System.out.println("key-value形式"+key+":"+jedis.hmget("user",key)); } //hincrby:对hash中的某个key的value 进行递增 Long aLong = jedis.hincrBy("user", "age", 2); System.out.println("对hash中的某个key的value 进行递增:"+aLong); //hincrbyfloat:对hash中的某个key的value 进行递增 Double aDouble = jedis.hincrByFloat("user", "score", 0.5); System.out.println("hincrbyfloat:"+aDouble); //redis有序集合Zset(sorted set) //zadd:添加一个zset集合 *//*Map<String,String> map1 = new HashMap<>(); map1.put("60","v1"); map1.put("70","v2"); map1.put("80","v3");*//* jedis.zadd("zset1",60,"v1"); jedis.zadd("zset1",70,"v2"); jedis.zadd("zset1",80,"v3"); //zrange:获取一个zset集合的元素 System.out.println(jedis.zrange("zset1",0,1)); //zrangbyscore:在zset集合中截取元素 System.out.println(jedis.zrangeByScore("zset1",60,70,0,2)); //zrem :删除元素 System.out.println(jedis.zrem("zset1","v1","v2")); //zcard:统计zset的个数 System.out.println(jedis.zcard("zset1")); //zcount:统计score区间的个数 System.out.println(jedis.zcount("zset1",60,70)); //zrank:获取下标值 System.out.println(jedis.zscore("zset1","v1")); //zscore:获取key对应的数值 System.out.println();*/ } }
jedisAPI方法
猜你喜欢
转载自blog.csdn.net/kxj19980524/article/details/84922415
今日推荐
周排行