场景
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); } }