jedis中的方法名,和Redis的命令几乎一样
1.jar包,作为测试只需要一个jar
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 ) +"秒"); } }