jedis中的方法名,和Redis的命令幾乎同樣java
1.jar包,做爲測試只須要一個jarredis
2.代碼數據庫
package com; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.Pipeline; /** * 使用jedis鏈接Redis */ public class TestJedis { private Jedis j; /** * 鏈接redis */ @Before public void before(){ j = new Jedis("localhost", 6379); } /** * 操做String類型 * */ @Test public void test00(){ //添加數據:添加數據時,若key值相同,則value的值會覆蓋 j.set("name1", "李四"); //添加數據並設置有效期:第二個參數爲有效時間:10秒,超過期間key自動銷燬 j.setex("name2", 10, "有效期10秒"); //添加多條數據 j.msetnx("name3", "王五","name4","趙六"); //刪除 j.del("name2"); //取數據 System.out.println( j.get("name1") ); //查看key的剩餘時間 System.out.println( j.ttl("name3") ); //批量獲取key List<String> mget = j.mget("name1","name3"); for (String string : mget) { System.out.println(string); } } /** * List類型 */ @Test public void test01(){ //清空數據庫 j.flushDB(); //向key=name1,添加三條數據 j.lpush("name1", "張三","李四","王五"); //按下標取出數據,0表明第一個元素,-1表明最後一個元素 List<String> list = j.lrange("name1", 0, -1); for (String string : list) { System.out.println(string); } //除了第一個元素,其餘所有刪除 j.ltrim("name1", 0, 0); } /** * HashSet */ // @Test public void test02(){ //清空數據庫 j.flushDB(); //添加 j.sadd("name1", "1","2","3"); //查全部 Set<String> smembers = j.smembers("name1"); for (String string : smembers) { System.out.println(string); } } /** * SortedSet */ @Test public void test3(){ j.del("name1"); //添加分數爲1好2的兩條數據 j.zadd("name1", 3, "張三"); j.zadd("name1",1,"李四"); // Set<String> zrange = j.zrange("name1", 0, -1); for (String string : zrange) { System.out.println(string); // 輸出: 李四,張三 } } /** * HashMap */ @Test public void test04(){ j.del("name1"); //添加map源數據 HashMap<String,String> map = new HashMap<String,String>(); map.put("name1", "張三"); map.put("name2", "李四"); //向Redis添加數據 j.hmset("names", map); //查詢map中的數據 List<String> hmget = j.hmget("names","name1","name2"); for (String string : hmget) { System.out.println(string); } } /** * 批量插入 */ @Test public void test05(){ //開始時間 long begin = System.currentTimeMillis(); //批量插入 Pipeline pipelined = j.pipelined(); for (int i = 0; i < 100000; i++) { pipelined.set("name"+ i, "value"+i); } //釋放 pipelined.sync(); //結束時間 long end = System.currentTimeMillis(); System.out.println( ( (end - begin) /1000.0 ) +"秒"); } }