使用Java操作Redis(二)
生活随笔
收集整理的這篇文章主要介紹了
使用Java操作Redis(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上篇文章中我們可以看到,通過自己動手編碼來操作Redis是相當繁瑣的,實際上我們在重復制造輪子。Redis網站上列舉出了一些方便操作Redis的常用工具。
可供Java選擇的比較多,這里介紹一下Jedis的使用。
Jedis 所需Jar包下載地址:
http://search.maven.org/#artifactdetails%7Credis.clients%7Cjedis%7C2.4.2%7Cjar
http://search.maven.org/#artifactdetails%7Corg.apache.commons%7Ccommons-pool2%7C2.0%7Cjar
將commons-pool2-2.0.jar和jedis-2.4.2.jar同時添加到build path中。
Redis的value同時支持strings, hashes, lists, sets類型,下面代碼為使用Jedis對這幾種類型的插入和獲取操作。
package com.csii.redis.test;import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.HashMap; import java.util.Map; import java.util.Set;import org.junit.Assert; import org.junit.Test; //注意:為方便測試代碼中用到了JUnit import redis.clients.jedis.Jedis;public class RedisTest extends Assert{public static Jedis jedis = null;static{jedis = new Jedis("localhost",6379, 500);jedis.connect();jedis.auth("123456");jedis.flushAll();}/*** strings類型操作*/@Testpublic void testStrings() {String status = jedis.set("name", "Rongbo_J");assertEquals("OK", status);String name = jedis.get("name");System.out.println(name);}/*** hashes類型操作*/@Testpublic void testHashes(){HashMap<String,String> personInfo = new HashMap<String,String>();personInfo.put("name", "Rongbo_J");personInfo.put("age", "18");personInfo.put("weight", "120");String status = jedis.hmset("person", personInfo);assertEquals("OK",status);Map<String, String> person = jedis.hgetAll("person");System.out.println(person);}/*** lists類型操作*/@Testpublic void testLists(){//lists為線性結構,通過lpush和lpop添加和移除list中的元素。for(int i=0;i<20;i++){jedis.lpush("array","i:" + i);}long len = jedis.llen("array");System.out.println(len);for(int i=0;i<len;i++){System.out.println(jedis.lpop("array"));}long len2 = jedis.llen("array");System.out.println(len2);}/*** sets類型操作*/@Testpublic void testSets(){for(int i=0;i < 20;i++){jedis.sadd("mySet", "SetElmt"+i);}long len = jedis.scard("mySet");System.out.println(len);Set<String> mySet = jedis.smembers("mySet");System.out.println(mySet);}/*** 不使用Jedis操作Redis,運行此測試方法時需要注釋掉靜態代碼塊部分*/@Testpublic void testWithoutJedis(){try {Socket sock = new Socket("127.0.0.1",6379);OutputStream out = sock.getOutputStream();InputStream in = sock.getInputStream(); String sendStr = "*3\r\n$3\r\nSET\r\n$4\r\nname\r\n$8\r\nrongbo_j\r\n";out.write(sendStr.getBytes());sendStr = "*2\r\n$3\r\nGET\r\n$5\r\nname\r\n";out.write(sendStr.getBytes());byte[] buffer = new byte[512];in.read(buffer);System.out.println(new String(buffer));} catch (Exception e) {e.printStackTrace();} } }代碼中只列舉了兩三種操作,實際上Jedis對每種類型提供的操作方式非常多,使用起來也非常簡單,這里沒有全部列舉。
轉載于:https://www.cnblogs.com/lanzhi/p/6468936.html
總結
以上是生活随笔為你收集整理的使用Java操作Redis(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解惑 [1, 2, 3].map(par
- 下一篇: 排序算法大集锦_合并排序_1(分治思想)