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

}

 

你可能感兴趣的:(SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例)