redis常用api操作有哪些
这篇文章主要介绍了redis常用api操作有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
//设置键值对//setkeyvalue[EXseconds][PXmilliseconds][NX|XX]//获取值//getkey//删除键//delkey//清空数据库//flushdb//获取list值//lrangekeystartstop//map类型//hgetkeyfield//hgetallkey//sortedset类型packagehgs.redislearn;importjava.io.IOException;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Set;importorg.codehaus.jackson.JsonGenerationException;importorg.codehaus.jackson.map.JsonMappingException;importorg.codehaus.jackson.map.ObjectMapper;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;importredis.clients.jedis.BinaryClient.LIST_POSITION;importredis.clients.jedis.Jedis;/****<p>Description:Redis</p>*@authorguangshihao*@date2018年9月28日**/publicclassRedisMainTest{Jedisjedis=null;@BeforepublicvoidgetConnect(){jedis=newJedis("192.168.6.129",6379);}@TestpublicvoidsysoutConnect(){System.out.println(jedis.ping());}@Afterpublicvoidfinaly(){jedis.close();}//测试放入String类型的键值对,并进行获取删除修改等操作@TestpublicvoidTestStringKeys(){jedis.set("hgs.name","haoguangshi.");Stringname=jedis.get("hgs.name");System.out.println(name);longaffect=jedis.del("hgs.name");System.out.println(affect);}@TestpublicvoidTestListKeys(){//从左边插入jedis.lpush("test_list","1","2","100");//从右边插入jedis.rpush("test_list","100","2","1","this");//获取listList<String>lis=jedis.lrange("test_list",0,-1);System.out.println(lis);//jedis.lpoplpushrpoprpush//在this出现的第一个位置的前面插入isjedis.linsert("test_list",LIST_POSITION.BEFORE,"this","is");}//map类型操作@TestpublicvoidTestMapKeys()throwsJsonGenerationException,JsonMappingException,IOException{/*Personp=newPerson();p.setName("hgs");p.setAge(26);p.setWeight(65);Personp1=newPerson();p1.setName("wd");p1.setAge(23);p1.setWeight(60);ObjectMappermapper=newObjectMapper();Stringsp=mapper.writer().writeValueAsString(p);Stringsp1=mapper.writer().writeValueAsString(p1);Map<String,String>ps=newHashMap<String,String>();ps.put("hgs",sp);ps.put("wd",sp1);*/jedis.hset("pseron:hgs","name","hgs");jedis.hset("pseron:hgs","age","24");jedis.hset("pseron:hgs","weigth","65kg");jedis.hset("pseron:wd","name","wd");jedis.hset("pseron:wd","age","24");jedis.hset("pseron:wd","weight","60kg");}@TestpublicvoidloopMapKeys(){//遍历一个mapMap<String,String>wd=jedis.hgetAll("pseron:wd");for(Stringtype:wd.keySet()){System.out.println(type+":"+wd.get(type));}//原子操作自增2jedis.hincrBy("pseron:hgs\"","age",2L);}@TestpublicvoiddelMapKeys(){//删除属性jedis.hdel("pseron:wd","weight");//打印集合的长度System.out.println(jedis.hlen("pseron:hgs"));}//set类型数据结构,添加数据@TestpublicvoidsetKeysTest(){String[]tmp=newString[]{"tianmao","dingding","alimama","zhifubao","feizhu"};jedis.sadd("apps",tmp);String[]tmp1=newString[]{"tianmao","dingdi","alima","zhifubao","feizhu"};jedis.sadd("apps",tmp);jedis.sadd("apps1",tmp1);}//遍历@TestpublicvoidscanSetKeys(){//判断某个记录是否存在System.out.println(jedis.sismember("apps","tianmao"));System.out.println(jedis.scard("apps"));//计算交集Set<String>sets=jedis.sinter("apps","apps1");for(Strings:sets){System.out.println(s);}//并集Set<String>sets1=jedis.sunion("apps","apps1");for(Strings:sets1){System.out.println(s);}System.out.println();//差集Set<String>sets2=jedis.sdiff("apps","apps1");for(Strings:sets2){System.out.println(s);}//遍历Set<String>sets3=jedis.smembers("apps");for(Strings:sets3){System.out.println(s);}}//SortedSet数据类型//存数据@TestpublicvoidsortedSetAddTest(){Map<String,Double>scoremem=newHashMap<String,Double>();scoremem.put("wd",(double)88);scoremem.put("cm",(double)87);scoremem.put("zz",(double)90);scoremem.put("wzf",(double)70);scoremem.put("xzh",(double)66);scoremem.put("hgs",(double)55);scoremem.put("hjh",(double)88);scoremem.put("shk",(double)100);jedis.zadd("roommeets_score",scoremem);}//sortedSet遍历@TestpublicvoidscanSortedSet(){//正序遍历Set<String>members=jedis.zrange("roommeets_score",0,-1);for(Stringmem:members){System.out.println("name:"+mem+","+"score:"+jedis.zscore("roommeets_score",mem)+","+"rank:"+(jedis.zrank("roommeets_score",mem)+1));}System.out.println();//正序遍历Set<String>members1=jedis.zrevrange("roommeets_score",0,-1);for(Stringmem:members1){System.out.println("name:"+mem+","+"score:"+jedis.zscore("roommeets_score",mem)+","+"rank:"+(jedis.zrevrank("roommeets_score",mem)+1L));}}}classPerson{Stringname;intage;doubleweight;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicdoublegetWeight(){returnweight;}publicvoidsetWeight(doubleweight){this.weight=weight;}@OverridepublicStringtoString(){return"Person[name="+name+",age="+age+",weight="+weight+"]";}}
感谢你能够认真阅读完这篇文章,希望小编分享的“redis常用api操作有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。