场景
SpringDataRedis环境搭建(详细图文教程):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/104989029
在上面搭建好SpringDataRedis环境后,进行对数据类型的常用操作测试。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
值类型操作(String类型)
@Test
public void setStringValue(){
redisTemplate.boundValueOps("name").set("badao");
}
@Test
public void getStringValue(){
String str = (String) redisTemplate.boundValueOps("name").get();
System.out.println(str);
}
@Test
public void delStringValue(){
redisTemplate.delete("name");
}
Set类型操作
//Set 类型存值
@Test
public void SetSetValue(){
redisTemplate.boundSetOps("person").add("霸道");
redisTemplate.boundSetOps("person").add("流氓");
redisTemplate.boundSetOps("person").add("气质");
}
//Set 类型取值
@Test
public void GetSetValue(){
Set memebers = redisTemplate.boundSetOps("person").members();
System.out.println(memebers);
}
//删除集合中的某一个值
@Test
public void SetDeleteOneValue(){
redisTemplate.boundSetOps("person").remove("霸道");
Set memebers = redisTemplate.boundSetOps("person").members();
System.out.println(memebers);
}
//删除整个集合
@Test
public void SetDeleteAllValue(){
redisTemplate.delete("person");
}
List类型操作
//存List类型数据-右压栈,后添加的对象排在后面
@Test
public void SetListRightValue(){
redisTemplate.boundListOps("list1").rightPush("霸道");
redisTemplate.boundListOps("list1").rightPush("流氓");
redisTemplate.boundListOps("list1").rightPush("气质");
}
//取List类型数据
@Test
public void GetListRightValue(){
List list = redisTemplate.boundListOps("list1").range(0,2);
System.out.println(list);
}
//存List类型数据-左压栈,后添加的对象排在前面
@Test
public void SetListLeftValue(){
redisTemplate.boundListOps("list1").leftPush("霸道");
redisTemplate.boundListOps("list1").leftPush("流氓");
redisTemplate.boundListOps("list1").leftPush("气质");
}
//查询集合中某个元素
@Test
public void SlectListValue(){
String name = (String) redisTemplate.boundListOps("list1").index(1);
System.out.println(name);
}
//查询集合中某个元素
@Test
public void RemoveListValue(){
redisTemplate.boundListOps("list1").remove(1,"流氓");
}
Hash类型操作
//存入Hash类型数据
@Test
public void SetHashValue(){
redisTemplate.boundHashOps("namehash").put("1", "霸道");
redisTemplate.boundHashOps("namehash").put("2","流氓");
redisTemplate.boundHashOps("namehash").put("3","气质");
}
//提取所有的keys
@Test
public void GetHashKeys(){
Set keys = redisTemplate.boundHashOps("namehash").keys();
System.out.println(keys);
}
//提取所有的值
@Test
public void GetHashValues(){
List values = redisTemplate.boundHashOps("namehash").values();
System.out.println(values);
}
//根据key提取值
@Test
public void GetHashValueByKey(){
Object value = redisTemplate.boundHashOps("namehash").get("1");
System.out.println(value);
}
//根据key移除值
@Test
public void DeleteHashValueByKey(){
Object value = redisTemplate.boundHashOps("namehash").delete("1");
System.out.println(value);
}
ZSet类型操作
//添加元素到变量中同时指定元素的分值用于排序的依据
@Test
public void AddZSetVlues(){
redisTemplate.boundZSetOps("zsetvalue").add("A",1);
redisTemplate.boundZSetOps("zsetvalue").add("B",2);
redisTemplate.boundZSetOps("zsetvalue").add("E",3);
redisTemplate.boundZSetOps("zsetvalue").add("C",4);
redisTemplate.boundZSetOps("zsetvalue").add("F",5);
redisTemplate.boundZSetOps("zsetvalue").add("D",6);
}
//获取指定区间的元素
@Test
public void GetZSetRangeVlues(){
Set set = redisTemplate.boundZSetOps("zsetvalue").range(0,-1);
System.out.println(set);
}
//从有序集合中移除一个或多个元素
@Test
public void DeleteZSetVlues(){
redisTemplate.boundZSetOps("zsetvalue").remove("A","F");
}
//指定值的分值递增并返回递增后的分值
@Test
public void IncrementScoreTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").incrementScore("B",1.1));
}
//返回有序集合中指定成员的排名,其中有序集合成员按照分数值递增顺序排列
@Test
public void RankTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").rank("B"));
}
//返回有序集合中指定成员的排名,其中有序集合成员按照分数值递减顺序排列
@Test
public void ReverseRankTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").reverseRank("B"));
}
//获取集合元素的大小
@Test
public void SizeTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").zCard());
}
//移除指定索引位置的成员,其中有序集合成员是按分数值递增顺序排列
@Test
public void RemoveTest(){
redisTemplate.boundZSetOps("zsetvalue").removeRange(1,2);
}
完整示例代码
package com.badao.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
import java.util.Set;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class SpringDataRedisTest {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void setStringValue(){
redisTemplate.boundValueOps("name").set("badao");
}
@Test
public void getStringValue(){
String str = (String) redisTemplate.boundValueOps("name").get();
System.out.println(str);
}
@Test
public void delStringValue(){
redisTemplate.delete("name");
}
//Set 类型存值
@Test
public void SetSetValue(){
redisTemplate.boundSetOps("person").add("霸道");
redisTemplate.boundSetOps("person").add("流氓");
redisTemplate.boundSetOps("person").add("气质");
}
//Set 类型取值
@Test
public void GetSetValue(){
Set memebers = redisTemplate.boundSetOps("person").members();
System.out.println(memebers);
}
//删除集合中的某一个值
@Test
public void SetDeleteOneValue(){
redisTemplate.boundSetOps("person").remove("霸道");
Set memebers = redisTemplate.boundSetOps("person").members();
System.out.println(memebers);
}
//删除整个集合
@Test
public void SetDeleteAllValue(){
redisTemplate.delete("person");
}
//存List类型数据-右压栈,后添加的对象排在后面
@Test
public void SetListRightValue(){
redisTemplate.boundListOps("list1").rightPush("霸道");
redisTemplate.boundListOps("list1").rightPush("流氓");
redisTemplate.boundListOps("list1").rightPush("气质");
}
//取List类型数据
@Test
public void GetListRightValue(){
List list = redisTemplate.boundListOps("list1").range(0,2);
System.out.println(list);
}
//存List类型数据-左压栈,后添加的对象排在前面
@Test
public void SetListLeftValue(){
redisTemplate.boundListOps("list1").leftPush("霸道");
redisTemplate.boundListOps("list1").leftPush("流氓");
redisTemplate.boundListOps("list1").leftPush("气质");
}
//查询集合中某个元素
@Test
public void SlectListValue(){
String name = (String) redisTemplate.boundListOps("list1").index(1);
System.out.println(name);
}
//查询集合中某个元素
@Test
public void RemoveListValue(){
redisTemplate.boundListOps("list1").remove(1,"流氓");
}
//存入Hash类型数据
@Test
public void SetHashValue(){
redisTemplate.boundHashOps("namehash").put("1", "霸道");
redisTemplate.boundHashOps("namehash").put("2","流氓");
redisTemplate.boundHashOps("namehash").put("3","气质");
}
//提取所有的keys
@Test
public void GetHashKeys(){
Set keys = redisTemplate.boundHashOps("namehash").keys();
System.out.println(keys);
}
//提取所有的值
@Test
public void GetHashValues(){
List values = redisTemplate.boundHashOps("namehash").values();
System.out.println(values);
}
//根据key提取值
@Test
public void GetHashValueByKey(){
Object value = redisTemplate.boundHashOps("namehash").get("1");
System.out.println(value);
}
//根据key移除值
@Test
public void DeleteHashValueByKey(){
Object value = redisTemplate.boundHashOps("namehash").delete("1");
System.out.println(value);
}
//添加元素到变量中同时指定元素的分值用于排序的依据
@Test
public void AddZSetVlues(){
redisTemplate.boundZSetOps("zsetvalue").add("A",1);
redisTemplate.boundZSetOps("zsetvalue").add("B",2);
redisTemplate.boundZSetOps("zsetvalue").add("E",3);
redisTemplate.boundZSetOps("zsetvalue").add("C",4);
redisTemplate.boundZSetOps("zsetvalue").add("F",5);
redisTemplate.boundZSetOps("zsetvalue").add("D",6);
}
//获取指定区间的元素
@Test
public void GetZSetRangeVlues(){
Set set = redisTemplate.boundZSetOps("zsetvalue").range(0,-1);
System.out.println(set);
}
//从有序集合中移除一个或多个元素
@Test
public void DeleteZSetVlues(){
redisTemplate.boundZSetOps("zsetvalue").remove("A","F");
}
//指定值的分值递增并返回递增后的分值
@Test
public void IncrementScoreTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").incrementScore("B",1.1));
}
//返回有序集合中指定成员的排名,其中有序集合成员按照分数值递增顺序排列
@Test
public void RankTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").rank("B"));
}
//返回有序集合中指定成员的排名,其中有序集合成员按照分数值递减顺序排列
@Test
public void ReverseRankTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").reverseRank("B"));
}
//获取集合元素的大小
@Test
public void SizeTest(){
System.out.println(redisTemplate.boundZSetOps("zsetvalue").zCard());
}
//移除指定索引位置的成员,其中有序集合成员是按分数值递增顺序排列
@Test
public void RemoveTest(){
redisTemplate.boundZSetOps("zsetvalue").removeRange(1,2);
}
}