zoukankan      html  css  js  c++  java
  • SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例

    场景

    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);
        }
    
    }
    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    第02组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第2组 团队展示
    Alapha冲刺(3/6)
    Alpha(2/6)
    Alpha冲刺(1/6)
    第2组 团队Git现场编程实战
    团队项目-需求分析报告
    团队项目-选题报告
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12532170.html
Copyright © 2011-2022 走看看