package com.sky.test;
import com.sky.config.RedisConfiguration;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.connection.DataType;
import org.springframework.data.redis.core.*;
import org.springframework.test.context.ContextConfiguration;
import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* @Author: Guojiang
* @Date: 2023/07/29/16:56
* @Description:
*/
@SpringBootTest
public class SpringRedisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void test(){
System.out.println(redisTemplate);
}
/**
* 操作字符串类型的数据
*/
@Test
public void test2()
{
redisTemplate.opsForValue().set("name","小明");
Object name = redisTemplate.opsForValue().get("name");
System.out.println(name);
redisTemplate.opsForValue().set("name","lisi",10, TimeUnit.SECONDS);
redisTemplate.opsForValue().setIfAbsent("lock","1");
redisTemplate.opsForValue().setIfAbsent("lock","2");
}
/**
* 操作哈希类型的数据
*/
@Test
public void testHashSet(){
HashOperations hashOperations = redisTemplate.opsForHash();
hashOperations.put("100","name","张三");
hashOperations.put("100","age","20");
System.out.println(hashOperations.get("100","age"));
Set keys = hashOperations.keys("100");
List values = hashOperations.values("100");
System.out.println(values);
System.out.println("keys"+keys);
System.out.println(hashOperations.hasKey("100","name"));
}
/**
* 列表操作命令
*/
@Test
public void testList(){
//lpush lrange ropo llen
ListOperations listOperations = redisTemplate.opsForList();
listOperations.leftPushAll("testlist","a","b","c");
listOperations.leftPush("testlist","d");
List testlist = listOperations.range("testlist", 0, -1);
System.out.println(testlist);
Object testlist1 = listOperations.rightPop("testlist");
System.out.println(testlist1);
Long size = listOperations.size("testlist");
System.out.println(size);
}
/**
* 操作集合类型的数据
*/
@Test
public void testSet(){
//sadd smembers scard sinter sunion srem
SetOperations setOperations = redisTemplate.opsForSet();
setOperations.add("setA","a","b","c");
setOperations.add("setB","x","y","z","a");
Set setA = setOperations.members("setA");
System.out.println(setA);
//集合中成员个数
Long setA1 = setOperations.size("setA");
System.out.println(setA1);
//求集合的交集
Set intersect = setOperations.intersect("setA", "setB");
System.out.println(intersect);
//求集合的并集
Set union = setOperations.union("setA", "setB");
System.out.println(union);
}
/**
* 操作有序集合类型的集合
*/
@Test
public void testZSet(){
//zadd zrange aincrby zrem
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
zSetOperations.add("zset1","a",10);
zSetOperations.add("zset1","b",5);
zSetOperations.add("zset1","c",1);
Object zset1 = zSetOperations.range("zset1",0,-1);
System.out.println(zset1);
zSetOperations.incrementScore("zset1","b",20);
zSetOperations.remove("zset1","a");
System.out.println(zset1);
}
/**
* 通用命令
*/
@Test
public void testCommon(){
//keys exists type del
Set keys = redisTemplate.keys("*");
System.out.println(keys);
Boolean name = redisTemplate.hasKey("name");
Boolean set1 = redisTemplate.hasKey("set1");
keys.forEach(key->{
DataType type = redisTemplate.type(key);
System.out.println(type);
});
redisTemplate.delete("mylist");
}
}
在SpringBoot中怎么使用redis,这里告诉你!
猜你喜欢
转载自blog.csdn.net/weixin_44749255/article/details/132005942
今日推荐
周排行