第一步:创建maven工程并导入jar包

  1. <dependencies>
  2. <dependency>
  3. <groupId>redis.clients</groupId>
  4. <artifactId>jedis</artifactId>
  5. <version>2.9.0</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>junit</groupId>
  9. <artifactId>junit</artifactId>
  10. <version>4.12</version>
  11. <scope>test</scope>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.testng</groupId>
  15. <artifactId>testng</artifactId>
  16. <version>6.14.3</version>
  17. <scope>test</scope>
  18. </dependency>
  19. </dependencies>
  20. <build>
  21. <plugins>
  22. <plugin>
  23. <groupId>org.apache.maven.plugins</groupId>
  24. <artifactId>maven-compiler-plugin</artifactId>
  25. <version>3.0</version>
  26. <configuration>
  27. <source>1.8</source>
  28. <target>1.8</target>
  29. <encoding>UTF-8</encoding>
  30. <!-- <verbal>true</verbal>-->
  31. </configuration>
  32. </plugin>
  33. </plugins>
  34. </build>

第二步:连接以及关闭redis客户端

  1. private JedisPool jedisPool;
  2. private JedisPoolConfig config;
  3. @BeforeTest
  4. public void redisConnectionPool(){
  5. config = new JedisPoolConfig();
  6. config.setMaxIdle(10);
  7. config.setMaxWaitMillis(3000);
  8. config.setMaxTotal(50);
  9. config.setMinIdle(5);
  10. jedisPool = new JedisPool(config, "node01", 6379);
  11. }
  12. @AfterTest
  13. public void closePool(){
  14. jedisPool.close();
  15. }

第三步:redis的javaAPI操作

操作string类型数据

  1. /**
  2. * 添加string类型数据
  3. */
  4. @Test
  5. public void addStr(){
  6. Jedis resource = jedisPool.getResource();
  7. //添加
  8. resource.set("jediskey", "jedisvalue");
  9. //查询
  10. String jediskey = resource.get("jediskey");
  11. System.out.println(jediskey);
  12. //修改
  13. resource.set("jediskey","jedisvalueUpdate");
  14. //删除
  15. resource.del("jediskey");
  16. //实现整型数据的增长操作
  17. resource.incr("jincr");
  18. resource.incrBy("jincr",3);
  19. String jincr = resource.get("jincr");
  20. System.out.println(jincr);
  21. resource.close();
  22. }

操作hash列表类型数据

  1. /**
  2. * 操作hash类型数据
  3. */
  4. @Test
  5. public void hashOperate(){
  6. Jedis resource = jedisPool.getResource();
  7. //添加数据
  8. resource.hset("jhsetkey","jmapkey","jmapvalue");
  9. resource.hset("jhsetkey","jmapkey2","jmapvalue2");
  10. //获取所有数据
  11. Map<String, String> jhsetkey = resource.hgetAll("jhsetkey");
  12. for (String s : jhsetkey.keySet()) {
  13. System.out.println(s);
  14. }
  15. //修改数据
  16. resource.hset("jhsetkey","jmapkey2","jmapvalueupdate2");
  17. Map<String, String> jhsetkey2 = resource.hgetAll("jhsetkey");
  18. for (String s : jhsetkey2.keySet()) {
  19. System.out.println("修改数据打印"+s);
  20. }
  21. //删除数据
  22. resource.del("jhsetkey");
  23. Set<String> jhsetkey1 = resource.keys("jhsetkey");
  24. for (String result : jhsetkey1) {
  25. System.out.println(result);
  26. }
  27. }

操作list类型数据

  1. /**
  2. * 操作list类型的数据
  3. */
  4. @Test
  5. public void listOperate(){
  6. Jedis resource = jedisPool.getResource();
  7. //从左边插入元素
  8. resource.lpush("listkey","listvalue1","listvalue1","listvalue2");
  9. //从右边移除元素
  10. resource.rpop("listkey");
  11. //获取所有值
  12. List<String> listkey = resource.lrange("listkey", 0, -1);
  13. for (String s : listkey) {
  14. System.out.println(s);
  15. }
  16. resource.close();
  17. }

操作set类型的数据

  1. /**
  2. * set类型数据操作
  3. */
  4. @Test
  5. public void setOperate(){
  6. Jedis resource = jedisPool.getResource();
  7. //添加数据
  8. resource.sadd("setkey", "setvalue1", "setvalue1", "setvalue2", "setvalue3");
  9. //查询数据
  10. Set<String> setkey = resource.smembers("setkey");
  11. for (String s : setkey) {
  12. System.out.println(s);
  13. }
  14. //移除掉一个数据
  15. resource.srem("setkey","setvalue3");
  16. resource.close();
  17. }