Redis专题之5、第5篇:Jedis操作Redis6

5.1、介绍

Jedis是java开发的操作redis的工具包。

5.2、Jedis的用法

5.2.1、引入maven依赖

  1. <dependency>
  2. <groupId>redis.clients</groupId>
  3. <artifactId>jedis</artifactId>
  4. <version>4.2.1</version>
  5. </dependency>

5.2.2、使用redis的api操作redis

案例代码如下,重点在于Jedis工具类,这个类中包含了操作redis的所有方法。

  1. import org.junit.After;
  2. import org.junit.Before;
  3. import org.junit.Test;
  4. import redis.clients.jedis.Jedis;
  5. import redis.clients.jedis.JedisPubSub;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Set;
  9. import java.util.concurrent.TimeUnit;
  10. /**
  11. * 公众号:Java充电社
  12. * 官网:http://www.itsoku.com
  13. */
  14. public class JedisDemo {
  15. Jedis jedis;
  16. @Before
  17. public void before() {
  18. this.jedis = new Jedis("192.168.200.129", 6379);
  19. }
  20. @After
  21. public void after() {
  22. //关闭jedis
  23. this.jedis.close();
  24. }
  25. /**
  26. * 测试redis是否连通
  27. */
  28. @Test
  29. public void test1() {
  30. String ping = jedis.ping();
  31. System.out.println(ping);
  32. }
  33. /**
  34. * string类型测试
  35. */
  36. @Test
  37. public void stringTest() {
  38. jedis.set("site", "http://www.itsoku.com");
  39. System.out.println(jedis.get("site"));
  40. System.out.println(jedis.ttl("site"));
  41. }
  42. /**
  43. * list类型测试
  44. */
  45. @Test
  46. public void listTest() {
  47. jedis.rpush("courses", "java", "spring", "springmvc", "springboot");
  48. List<String> courses = jedis.lrange("courses", 0, -1);
  49. for (String course : courses) {
  50. System.out.println(course);
  51. }
  52. }
  53. /**
  54. * set类型测试
  55. */
  56. @Test
  57. public void setTest() {
  58. jedis.sadd("users", "tom", "jack", "ready");
  59. Set<String> users = jedis.smembers("users");
  60. for (String user : users) {
  61. System.out.println(user);
  62. }
  63. }
  64. /**
  65. * hash类型测试
  66. */
  67. @Test
  68. public void hashTest() {
  69. jedis.hset("user:1001", "id", "1001");
  70. jedis.hset("user:1001", "name", "张三");
  71. jedis.hset("user:1001", "age", "30");
  72. Map<String, String> userMap = jedis.hgetAll("user:1001");
  73. System.out.println(userMap);
  74. }
  75. /**
  76. * zset类型测试
  77. */
  78. @Test
  79. public void zsetTest() {
  80. jedis.zadd("languages", 100d, "java");
  81. jedis.zadd("languages", 95d, "c");
  82. jedis.zadd("languages", 70d, "php");
  83. List<String> languages = jedis.zrange("languages", 0, -1);
  84. System.out.println(languages);
  85. }
  86. /**
  87. * 订阅消息
  88. *
  89. * @throws InterruptedException
  90. */
  91. @Test
  92. public void subscribeTest() throws InterruptedException {
  93. //subscribe(消息监听器,频道列表)
  94. jedis.subscribe(new JedisPubSub() {
  95. @Override
  96. public void onMessage(String channel, String message) {
  97. System.out.println(channel + ":" + message);
  98. }
  99. }, "sitemsg");
  100. TimeUnit.HOURS.sleep(1);
  101. }
  102. /**
  103. * 发布消息
  104. *
  105. * @throws InterruptedException
  106. */
  107. @Test
  108. public void publishTest() {
  109. jedis.publish("sitemsg", "hello redis");
  110. }
  111. }
来源:http://www.itsoku.com/course/15/252
posted @ 2022-04-27 11:15  程序员小明1024  阅读(70)  评论(0编辑  收藏  举报