Spring Data Redis操作

操作前必要工作

步骤一:打开Window/Linux的Redis服务

步骤二:连接Redis服务


操作String类型

redisTemplate.opsForValue().set("city","北京");//set
String city = (String) redisTemplate.opsForValue().get("city");//get
System.out.println(city);

redisTemplate.opsForValue().set("time","123",3, TimeUnit.MINUTES);//时间为3分钟
redisTemplate.opsForValue().setIfAbsent("code","123");//不存在 再创建 存在 不创建

操作Hash类型

HashOperations hashOperations=redisTemplate.opsForHash();

hashOperations.put("people","name","小明");//插入哈希民为people key为name val为小明
hashOperations.put("people","age","18");

String o = (String) hashOperations.get("people", "name");//获取哈希people中key的name的value
System.out.println(o);

Set people = hashOperations.keys("people");//获取全部的key
System.out.println(people);

List peoplevalue = hashOperations.values("people");//获取全部的value
System.out.println(peoplevalue);

hashOperations.delete("people","age");//删除哈希people中key为age

操作列表类型

ListOperations listOperations=redisTemplate.opsForList();

listOperations.leftPushAll("mylist","a","b","c");//创建列表 依次从左侧插入 c b a
listOperations.leftPush("mylist","d");//从左侧插入 d c b a

//查询 0 到-1 的字符 全部
List mylist = listOperations.range("mylist", 0, -1);
System.out.println(mylist);

listOperations.rightPop("mylist");//删除最右侧的数据 并返回

Long mylistSize = listOperations.size("mylist");//列表长度
System.out.println(mylistSize);

操作集合类型

//操作集合
    @Test
    public void TestRedisTemplateSet(){
        SetOperations setOperations=redisTemplate.opsForSet();

        //添加集合
        setOperations.add("set1","a","b","c","d");
        setOperations.add("set2","x","y","z");

        //查询集合内的元素
        Set set1 = setOperations.members("set1");
        System.out.println(set1);

        //集合的元素个数
        Long setSize = setOperations.size("set1");
        System.out.println(setSize);

        //两集合的交集
        Set intersect = setOperations.intersect("set1", "set2");
        System.out.println(intersect);

        //两集合的并集
        Set union = setOperations.union("set1", "set2");
        System.out.println(union);

        //删除集合元素
        setOperations.remove("set1","a","b");
    }

操作有序集合类型

    //操作有序集合
    @Test
    public void TestRedisTemplateZset(){
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();

        //添加元素
        zSetOperations.add("zset1","a",10);
        zSetOperations.add("zset1","b",20);
        zSetOperations.add("zset1","c",30);

        //查询元素 从0 -1 全部
        Set zset1 = zSetOperations.range("zset1", 0, -1);
        System.out.println(zset1);

        //为某元素添加数值
        //为c 加10
        zSetOperations.incrementScore("zset1","c",10);

        //删除元素
        zSetOperations.remove("zset1","a","b");
    }

操作通用命令

    //操作通用命令
    @Test
    public void TestRedis(){
        //查询全部key
        Set keys = redisTemplate.keys("*");
        System.out.println(keys);

        //判断key是否存在
        Boolean name = redisTemplate.hasKey("name");
        Boolean set1 = redisTemplate.hasKey("set1");

        //遍历判断key的类型
        for (Object key : keys) {
            DataType type = redisTemplate.type(key);
            System.out.println(type);
        }

        //删除key
        redisTemplate.delete("mylist");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值