使用Jedis操作Redis-使用Java语言在客户端操作---String类型
前提:需要引入Jedis的jar包。
1 /** 2 * 我的redis在Linux虚拟机Centos7中,192.168.222.129是我虚拟机的ip地址。 3 */ 4 private static Jedis jedis = new Jedis("192.168.222.129");
1 //测试String类型 2 @Test 3 public void testString(){ 4 //设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值。返回值总是返回"OK" 5 String returnset = jedis.set("mykey", "hello"); 6 //根据键获取值 7 String mykeyValue = jedis.get("mykey"); 8 9 //追加 如果key存在,则在原来的key的value后面追加;否则效果相当于set 10 Long result = jedis.append("mykey7", "我是后面追加的7"); 11 12 //判断该键是否存在,存在返回true,否则返回false。 13 Boolean result5 = jedis.exists("mykey"); 14 15 //取指定Key的字符长度,等效于C库中strlen函数。 16 Long result6 = jedis.strlen("mykey"); 17 18 //================================= 19 //设置Key的值为20 20 jedis.set("mykey2", "20"); 21 //该Key的值递增1 22 Long result1 = jedis.incr("mykey2"); 23 24 //该key的值递减1 25 Long result2 = jedis.decr("mykey2"); 26 27 //删除已有键,删除成功返回1,该键不存在的话就返回0. 28 Long result3 = jedis.del("mykey"); 29 30 //从第六个开始替换2个字符(dd只有2个字符),从0开始计数,如果长度不够,就用空格空字符替代 31 jedis.setrange("mykey", 6, "dd");//"hello dd" 32 33 //截取该键的Value,从第一个字符开始,到第二个字符结束。它是从0开始计数的 34 String returngetRange = jedis.getrange("mykey", 1, 2);//el 35 //20已经超过Value的总长度,因此将截取第一个字节后面的所有字节。 36 String returngetRange2 = jedis.getrange("mykey", 1, 20);//ello 37 38 //批量设置了key1和key2两个键。返回值表示是否执行成功,执行成功返回1. 39 Long returnmsetnxValue = jedis.msetnx("key1","key1Value","key2","key2Value"); 40 41 //批量获取了key1和key2两个键的值。 42 List<String> mget = jedis.mget("key1","key2"); 43 for(String value:mget){ 44 System.out.print(value+" "); 45 } 46 //打印结果为:key1Value key2Value 47 48 //批量设置了key3和key5两个键,但是key3已经存在,所以该命令执行失败并返回0。 49 Long returnmsetnxValue1 = jedis.msetnx("key2","key2Value","key3","key3Value"); 50 51 //批量获取key2和key3,由于key3没有设置成功,所以返回nil。 52 List<String> mget1 = jedis.mget("key2","key3"); 53 for(String value:mget1){ 54 System.out.print(value+" "); 55 } 56 //打印结果依次为 key2Value null,因为key3没有设置成功,所以取出来的值为null 57 58 59 //该命令原子性的完成参数中所有key/value的设置操作,其具体行为可以看成是多次迭代执行SET命令。 该命令不会失败,始终返回OK。 60 String mset = jedis.mset("key2","key2newValue","key3","key3Value"); 61 62 //设置从0开始计算的第七位BIT值为1,返回原有BIT值0.这里用1代表true,用0代表false。 63 //Boolean setbit = jedis.setbit("mybitkey", 7, true); 64 String result4 = mykeyValue; 65 66 //返回了指定Offset的BIT值。以true代表1,false代表0 67 Boolean getbitsixresult = jedis.getbit("mybitkey", 7); 68 69 jedis.close(); 70 }
不能只满足于写完代码运行结果正确就完事,时常考虑如何让代码更加简练更加容易维护、容易扩展和复用,只有这样才可以真正得到提高
--《来自大话设计模式》