1. package cn.bugstack.middleware.test;
    2. import com.alibaba.fastjson.JSON;
    3. import org.junit.Test;
    4. import org.junit.runner.RunWith;
    5. import org.redisson.api.RBlockingQueue;
    6. import org.redisson.api.RBucket;
    7. import org.redisson.api.RDelayedQueue;
    8. import org.redisson.api.RedissonClient;
    9. import org.redisson.config.Config;
    10. import org.springframework.boot.test.context.SpringBootTest;
    11. import org.springframework.test.context.junit4.SpringRunner;
    12. import javax.annotation.Resource;
    13. import java.util.concurrent.TimeUnit;
    14. @RunWith(SpringRunner.class)
    15. @SpringBootTest
    16. public class ApiTest {
    17. @Resource
    18. private RedissonClient redissonClient;
    19. @Test
    20. public void test() {
    21. // 设置字符串
    22. RBucket<String> keyObj = redissonClient.getBucket("user");
    23. keyObj.set("小傅哥");
    24. System.out.println(keyObj.get());
    25. }
    26. @Test
    27. public void test_delay_queue() throws InterruptedException {
    28. RBlockingQueue<Object> blockingQueue = redissonClient.getBlockingQueue("TASK");
    29. RDelayedQueue<Object> delayedQueue = redissonClient.getDelayedQueue(blockingQueue);
    30. new Thread(() -> {
    31. try {
    32. while (true){
    33. Object take = blockingQueue.take();
    34. System.out.println(take);
    35. Thread.sleep(10);
    36. }
    37. } catch (InterruptedException e) {
    38. e.printStackTrace();
    39. }
    40. }).start();
    41. int i = 0;
    42. while (true){
    43. delayedQueue.offerAsync("测试" + ++i, 100L, TimeUnit.MILLISECONDS);
    44. Thread.sleep(1000L);
    45. }
    46. }
    47. }
    1. package cn.bugstack.middleware.test;
    2. import org.redisson.Redisson;
    3. import org.redisson.api.RedissonClient;
    4. import org.redisson.config.Config;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
    7. import org.springframework.boot.context.properties.EnableConfigurationProperties;
    8. import org.springframework.context.annotation.Bean;
    9. import org.springframework.context.annotation.Configuration;
    10. @Configuration
    11. public class RedissonConfig {
    12. @Autowired
    13. private RedisProperties redisProperties;
    14. @Bean
    15. public RedissonClient redissonClient() {
    16. Config config = new Config();
    17. String redisUrl = String.format("redis://%s:%s", redisProperties.getHost() + "", redisProperties.getPort() + "");
    18. config.useSingleServer().setAddress(redisUrl).setPassword(redisProperties.getPassword());
    19. config.useSingleServer().setDatabase(3);
    20. return Redisson.create(config);
    21. }
    22. }
    23. © 2022 GitHub, Inc.
    24. Terms
    25. Privacy
    1. package cn.bugstack.middleware.test;
    2. import java.io.Serializable;
    3. /**
    4. * @author xiang xiaocheng
    5. * @version 1.0
    6. * @site chsoul.cnblogs.com
    7. * @date 2021/2/8 9:25
    8. */
    9. public class TaskDTO<T> implements Serializable {
    10. private String taskName;
    11. private T taskBody;
    12. public String getTaskName() {
    13. return taskName;
    14. }
    15. public void setTaskName(String taskName) {
    16. this.taskName = taskName;
    17. }
    18. public T getTaskBody() {
    19. return taskBody;
    20. }
    21. public void setTaskBody(T taskBody) {
    22. this.taskBody = taskBody;
    23. }
    24. }
    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-data-redis</artifactId>
    4. </dependency>
    5. <!-- https://mvnrepository.com/artifact/org.redisson/redisson -->
    6. <dependency>
    7. <groupId>org.redisson</groupId>
    8. <artifactId>redisson</artifactId>
    9. <version>3.16.8</version>
    10. </dependency>
    11. <!-- https://mvnrepository.com/artifact/org.redisson/redisson-spring-boot-starter -->
    12. <dependency>
    13. <groupId>org.redisson</groupId>
    14. <artifactId>redisson-spring-boot-starter</artifactId>
    15. <version>3.16.8</version>
    16. </dependency>