|
@@ -3,21 +3,91 @@ package com.example.demo.config.redis;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
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 org.springframework.data.redis.core.RedisTemplate;
|
|
|
|
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @description
|
|
* @description
|
|
|
* @date 2025-03-12 17:03
|
|
* @date 2025-03-12 17:03
|
|
|
**/
|
|
**/
|
|
|
|
|
+
|
|
|
@SpringBootTest
|
|
@SpringBootTest
|
|
|
class RedisConfigTest {
|
|
class RedisConfigTest {
|
|
|
@Resource
|
|
@Resource
|
|
|
RedisTemplate<String, Object> redisTemplate;
|
|
RedisTemplate<String, Object> redisTemplate;
|
|
|
|
|
|
|
|
@Test
|
|
@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"));
|
|
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;
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|