|
|
@@ -1,109 +0,0 @@
|
|
|
-package com.example.demo.config.redis;
|
|
|
-
|
|
|
-import com.alibaba.fastjson2.JSON;
|
|
|
-import jakarta.annotation.Resource;
|
|
|
-import org.junit.jupiter.api.Test;
|
|
|
-import org.springframework.boot.test.context.SpringBootTest;
|
|
|
-import org.springframework.data.redis.connection.RedisStringCommands;
|
|
|
-import org.springframework.data.redis.core.RedisCallback;
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
-
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
-import java.util.concurrent.TimeUnit;
|
|
|
-
|
|
|
-/**
|
|
|
- * @description
|
|
|
- * @date 2025-03-12 17:03
|
|
|
- **/
|
|
|
-
|
|
|
-@SpringBootTest
|
|
|
-class RedisConfigTest {
|
|
|
- @Resource
|
|
|
- RedisTemplate<String, Object> redisTemplate;
|
|
|
-
|
|
|
- @Test
|
|
|
- void stringTest() {
|
|
|
- redisTemplate.opsForValue().set("hello", "world", 20, TimeUnit.SECONDS);
|
|
|
- System.out.println(redisTemplate.opsForValue().get("hello"));
|
|
|
- redisTemplate.opsForValue().setIfAbsent("step", 1, 30, TimeUnit.SECONDS);
|
|
|
- redisTemplate.opsForValue().increment("increment", 1);
|
|
|
- redisTemplate.opsForValue().increment("increment", 2);
|
|
|
- redisTemplate.opsForValue().append("test", "1");
|
|
|
- redisTemplate.opsForValue().append("test", ",2");
|
|
|
-
|
|
|
- Map<String, String> map = new HashMap<>();
|
|
|
- map.put("key1", "value1");
|
|
|
- map.put("key2", "value2");
|
|
|
- map.put("key3", "value3");
|
|
|
- map.put("key4", "value4");
|
|
|
- redisTemplate.opsForValue().multiSet(map);
|
|
|
- Set<String> keys = redisTemplate.keys("key*");
|
|
|
- assert keys != null;
|
|
|
- redisTemplate.delete(keys);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Test
|
|
|
- void hashTest() {
|
|
|
- redisTemplate.opsForHash().put("hash1", "key1", "value1");
|
|
|
- redisTemplate.opsForHash().put("hash1", "key2", "value2");
|
|
|
- redisTemplate.opsForHash().put("hash1", "key3", "value3");
|
|
|
- System.out.println(redisTemplate.opsForHash().get("hash1", "key1"));
|
|
|
- redisTemplate.expire("hash1", 60, TimeUnit.SECONDS);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Test
|
|
|
- void listTest(){
|
|
|
- redisTemplate.opsForList().leftPush("list1", "value1");
|
|
|
- redisTemplate.opsForList().leftPush("list1", "value2");
|
|
|
- redisTemplate.opsForList().leftPush("list1", "value3");
|
|
|
- redisTemplate.opsForList().rightPush("list1", "value4");
|
|
|
- redisTemplate.opsForList().leftPop("list1");
|
|
|
- System.out.println(redisTemplate.opsForList().index("list1",2));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void setTest(){
|
|
|
- redisTemplate.opsForSet().add("set1", "value1");
|
|
|
- redisTemplate.opsForSet().add("set1", "value2");
|
|
|
- redisTemplate.opsForSet().add("set1", "value1");
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void sortedSetTest(){
|
|
|
- redisTemplate.opsForZSet().add("zset1","zset1",0);
|
|
|
- redisTemplate.opsForZSet().add("zset1","zset2",1);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Test
|
|
|
- void executeTest() {
|
|
|
- String key = "hello";
|
|
|
- redisTemplate.opsForValue().set("hello", "world", 20, TimeUnit.SECONDS);
|
|
|
- redisTemplate.execute((RedisCallback<Object>) connection -> {
|
|
|
- RedisStringCommands commands = connection.stringCommands();
|
|
|
- Long size = commands.strLen("hello".getBytes());
|
|
|
- System.out.println(size);
|
|
|
- return null;
|
|
|
- });
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- //发布订阅
|
|
|
- // 发布订阅多个客户端并行时,可能会产生重复消费
|
|
|
- @Test
|
|
|
- void convertAndSendTest(){
|
|
|
- Map<String, String> map = new HashMap<>();
|
|
|
- map.put("key1", "value1");
|
|
|
- map.put("key2", "value2");
|
|
|
- map.put("key3", "value3");
|
|
|
- redisTemplate.convertAndSend(RedisKeyEnum.ACCESS_LOGS.getKey(), JSON.toJSONString(map));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-}
|