sql
复制代码
package com.sky.test;
import org.apache.el.parser.BooleanNode;
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 java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@SpringBootTest
public class SpringDataRedisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void testRedis(){
ValueOperations valueOperations = redisTemplate.opsForValue();
HashOperations hashOperations = redisTemplate.opsForHash();
ListOperations listOperations = redisTemplate.opsForList();
SetOperations setOperations = redisTemplate.opsForSet();
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
}
/**
* 操作字符串类型
*/
@Test
public void testString(){
redisTemplate.opsForValue().set("city","北京");
Object city = redisTemplate.opsForValue().get("city");
System.out.println(city);
redisTemplate.opsForValue().set("code","1234",3, TimeUnit.MINUTES);
redisTemplate.opsForValue().setIfAbsent("lock","1");
redisTemplate.opsForValue().setIfAbsent("lock","2");
}
/**
* 操作hash类型
*/
@Test
public void testHash(){
HashOperations hashOperations = redisTemplate.opsForHash();
hashOperations.put("100","name","tom");
hashOperations.put("100","age","20");
String name = (String) hashOperations.get("100","name");
System.out.println(name);
Set keys = hashOperations.keys("100");
System.out.println(keys);
List values = hashOperations.values("100");
System.out.println(values);
hashOperations.delete("100","age");
}
/**
* 操作list类型
*/
@Test
public void testList(){
ListOperations listOperations = redisTemplate.opsForList();
listOperations.leftPushAll("mylist","a","b","c");
listOperations.leftPush("mylist","d");
List mylist = listOperations.range("mylist",0,-1);
System.out.println(mylist);
listOperations.rightPop("mylist");
Long size = listOperations.size("mylist");
System.out.println(size);
}
/**
* 操作set类型
*/
//sadd smembers scard sinter sunion srem
@Test
public void testSet(){
SetOperations setOperations = redisTemplate.opsForSet();
setOperations.add("mySet1","a","b","c");
setOperations.add("mySet2","a","b","d");
Set members = setOperations.members("myset1");
System.out.println(members);
Long size = setOperations.size("mySet1");
System.out.println(size);
Set intersect = setOperations.intersect("mySet1","mySet2");
System.out.println(intersect);
Set union = setOperations.union("mySet1","mySet2");
System.out.println(union);
setOperations.remove("mySet1","a","b");
}
/**
* 操作zset类型
*/
@Test
public void testZSet(){
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
zSetOperations.add("myzset", "tom", 10);
zSetOperations.add("myzset", "jerry", 20);
zSetOperations.add("myzset", "lucy", 30);
Set zset1 = zSetOperations.range("myzset",0,-1);
System.out.println(zset1);
}
/**
* 通用命令
*/
@Test
public void testCommon(){
//keys exists type del
Set keys = redisTemplate.keys("*");
System.out.println(keys);
Boolean name = redisTemplate.hasKey("*");
Boolean set1 = redisTemplate.hasKey("set1");
for (Object key : keys){
DataType type = redisTemplate.type(key);
System.out.println(type.name());
}
}
}