• 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
  • 相关阅读:
    对函数的推广
    自然语言也支持泛型
    用委托实现对List的常用方法提取
    C#中的特性(Attributes)(翻译)(转)
    用JQUERY增删元素
    表格折叠展开
    下一代编程语言可能具有的特点
    一种多继承方案
    几年前毕业设计做的CAD二次开发
    数据结构 003.1.1 栈的基本概念
  • 原文地址:https://www.cnblogs.com/konglxblog/p/16198201.html
Copyright © 2020-2023  润新知