當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Java中使用Jedis操作Redis使用Java操作Redis需要jedis-2.1.0.jar,下載地址:http://files.cnblogs.com/liuling/jedis-2.1.0.

Java中使用Jedis操作Redis

使用Java操作Redis需要jedis-2.1.0.jar,下載地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip

如果需要使用Redis連接池的話,還需commons-pool-1.5.4.jar,下載地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip

??1?package?com.test;
??2?
??3?import?java.util.HashMap;
??4?import?java.util.Iterator;
??5?import?java.util.List;
??6?import?java.util.Map;
??7?
??8?import?org.junit.Before;
??9?import?org.junit.Test;
?10?
?11?import?redis.clients.jedis.Jedis;
?12?
?13?public?class?TestRedis?{
?14?????private?Jedis?jedis;?
?15?????
?16?????@Before
?17?????public?void?setup()?{
?18?????????//連接redis服務器,192.168.0.100:6379
?19?????????jedis?=?new?Jedis("192.168.0.100",?6379);
?20?????????//權限認證
?21?????????jedis.auth("admin");??
?22?????}
?23?????
?24?????/**
?25??????*?redis存儲字符串
?26??????*/
?27?????@Test
?28?????public?void?testString()?{
?29?????????//-----添加數(shù)據(jù)----------??
?30?????????jedis.set("name","xinxin");//向key-->name中放入了value-->xinxin??
?31?????????System.out.println(jedis.get("name"));//執(zhí)行結果:xinxin??
?32?????????
?33?????????jedis.append("name",?"?is?my?lover");?//拼接
?34?????????System.out.println(jedis.get("name"));?
?35?????????
?36?????????jedis.del("name");??//刪除某個鍵
?37?????????System.out.println(jedis.get("name"));
?38?????????//設置多個鍵值對
?39?????????jedis.mset("name","liuling","age","23","qq","476777XXX");
?40?????????jedis.incr("age");?//進行加1操作
?41?????????System.out.println(jedis.get("name")?+?"-"?+?jedis.get("age")?+?"-"?+?jedis.get("qq"));
?42?????????
?43?????}
?44?????
?45?????/**
?46??????*?redis操作Map
?47??????*/
?48?????@Test
?49?????public?void?testMap()?{
?50?????????//-----添加數(shù)據(jù)----------??
?51?????????Mapmap?=?new?HashMap();
?52?????????map.put("name",?"xinxin");
?53?????????map.put("age",?"22");
?54?????????map.put("qq",?"123456");
?55?????????jedis.hmset("user",map);
?56?????????//取出user中的name,執(zhí)行結果:[minxr]-->注意結果是一個泛型的List??
?57?????????//第一個參數(shù)是存入redis中map對象的key,后面跟的是放入map中的對象的key,后面的key可以跟多個,是可變參數(shù)??
?58?????????Listrsmap?=?jedis.hmget("user",?"name",?"age",?"qq");
?59?????????System.out.println(rsmap);??
?60???
?61?????????//刪除map中的某個鍵值??
?62?????????jedis.hdel("user","age");
?63?????????System.out.println(jedis.hmget("user",?"age"));?//因為刪除了,所以返回的是null??
?64?????????System.out.println(jedis.hlen("user"));?//返回key為user的鍵中存放的值的個數(shù)2?
?65?????????System.out.println(jedis.exists("user"));//是否存在key為user的記錄?返回true??
?66?????????System.out.println(jedis.hkeys("user"));//返回map對象中的所有key??
?67?????????System.out.println(jedis.hvals("user"));//返回map對象中的所有value?
?68???
?69?????????Iteratoriter=jedis.hkeys("user").iterator();??
?70?????????while?(iter.hasNext()){??
?71?????????????String?key?=?iter.next();??
?72?????????????System.out.println(key+":"+jedis.hmget("user",key));??
?73?????????}??
?74?????}
?75?????
?76?????/**?
?77??????*?jedis操作List?
?78??????*/??
?79?????@Test??
?80?????public?void?testList(){??
?81?????????//開始前,先移除所有的內容??
?82?????????jedis.del("java?framework");??
?83?????????System.out.println(jedis.lrange("java?framework",0,-1));??
?84?????????//先向key?java?framework中存放三條數(shù)據(jù)??
?85?????????jedis.lpush("java?framework","spring");??
?86?????????jedis.lpush("java?framework","struts");??
?87?????????jedis.lpush("java?framework","hibernate");??
?88?????????//再取出所有數(shù)據(jù)jedis.lrange是按范圍取出,??
?89?????????//?第一個是key,第二個是起始位置,第三個是結束位置,jedis.llen獲取長度?-1表示取得所有??
?90?????????System.out.println(jedis.lrange("java?framework",0,-1));??
?91?????????
?92?????????jedis.del("java?framework");
?93?????????jedis.rpush("java?framework","spring");??
?94?????????jedis.rpush("java?framework","struts");??
?95?????????jedis.rpush("java?framework","hibernate");?
?96?????????System.out.println(jedis.lrange("java?framework",0,-1));
?97?????}??
?98?????
?99?????/**?
100??????*?jedis操作Set?
101??????*/??
102?????@Test??
103?????public?void?testSet(){??
104?????????//添加??
105?????????jedis.sadd("user","liuling");??
106?????????jedis.sadd("user","xinxin");??
107?????????jedis.sadd("user","ling");??
108?????????jedis.sadd("user","zhangxinxin");
109?????????jedis.sadd("user","who");??
110?????????//移除noname??
111?????????jedis.srem("user","who");??
112?????????System.out.println(jedis.smembers("user"));//獲取所有加入的value??
113?????????System.out.println(jedis.sismember("user",?"who"));//判斷?who?是否是user集合的元素??
114?????????System.out.println(jedis.srandmember("user"));??
115?????????System.out.println(jedis.scard("user"));//返回集合的元素個數(shù)??
116?????}??
117???
118?????@Test??
119?????public?void?test()?throws?InterruptedException?{??
120?????????//jedis?排序??
121?????????//注意,此處的rpush和lpush是List的操作。是一個雙向鏈表(但從表現(xiàn)來看的)??
122?????????jedis.del("a");//先清除數(shù)據(jù),再加入數(shù)據(jù)進行測試??
123?????????jedis.rpush("a",?"1");??
124?????????jedis.lpush("a","6");??
125?????????jedis.lpush("a","3");??
126?????????jedis.lpush("a","9");??
127?????????System.out.println(jedis.lrange("a",0,-1));//?[9,?3,?6,?1]??
128?????????System.out.println(jedis.sort("a"));?//[1,?3,?6,?9]??//輸入排序后結果??
129?????????System.out.println(jedis.lrange("a",0,-1));??
130?????}??
131?????
132?????@Test
133?????public?void?testRedisPool()?{
134?????????RedisUtil.getJedis().set("newname",?"中文測試");
135?????????System.out.println(RedisUtil.getJedis().get("newname"));
136?????}
137?}
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉