ソースを参照

redis 五种基本数据类型。

tanlie 1 年間 前
コミット
694491b33c

+ 72 - 2
demo/src/test/java/com/example/demo/config/redis/RedisConfigTest.java

@@ -3,21 +3,91 @@ package com.example.demo.config.redis;
 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");
+    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;
+        });
 
     }