Redis集成到SpringBoot

 博主主页: 码农派大星.

    数据结构专栏:Java数据结构

 数据库专栏:数据库

JavaEE专栏:JavaEE

软件测试专栏:软件测试

关注博主带你了解更多知识

1. 使⽤SpringBoot连接Redis

创建项目时勾选NoSQL中的 当 Spring Data Redis

配置redis服务地址 

spring:
  redis:
   host: 127.0.0.1
    port: 8888

此处需要引入StringRedisTemplate类来,操作redis

StringRedisTemplate 是 Spring Data Redis 提供的一个类,它主要用于操作 Redis 中的字符串类型的数据

2. 使⽤String

@GetMapping("testString")
    @ResponseBody
    public String testString(){
        redisTemplate.opsForValue().set("key","111");
        redisTemplate.opsForValue().set("key2","222");
        redisTemplate.opsForValue().set("key3","333");

        String value = redisTemplate.opsForValue().get("key");
        System.out.println("value:"+value);

        return "ok";
    }

3. 使⽤List

 public String testList(){
        //先清除之前的数据
        redisTemplate.execute((RedisConnection connection)->{
            connection.flushAll();
            return null;
        });

        redisTemplate.opsForList().leftPush("key","111");
        redisTemplate.opsForList().leftPush("key2","222");
        redisTemplate.opsForList().leftPush("key3","333");

        String value = redisTemplate.opsForList().rightPop("key");
        System.out.println("value:"+value);
         value = redisTemplate.opsForList().rightPop("key2");
        System.out.println("value:"+value);
         value = redisTemplate.opsForList().rightPop("key3");
        System.out.println("value:"+value);

        return "ok";

    }

4. 使⽤Set

 public String testSet() {
        //先清除之前的数据
        redisTemplate.execute((RedisConnection connection) -> {
            connection.flushAll();
            return null;
        });

        redisTemplate.opsForSet().add("key","111","222","333");
        Set<String> result = redisTemplate.opsForSet().members("key");
        System.out.println(result);
        
        Boolean exists = redisTemplate.opsForSet().isMember("key","111");
        System.out.println(exists);
        
        Long count = redisTemplate.opsForSet().size("key");
        System.out.println(count);
        
        redisTemplate.opsForSet().remove("key","111","222");
        result = redisTemplate.opsForSet().members("key");
        System.out.println(result);

        return "ok";
        
    }

5. 使用Hash

public String testHash() {
        //先清除之前的数据
        redisTemplate.execute((RedisConnection connection) -> {
            connection.flushAll();
            return null;
        });

        redisTemplate.opsForHash().put("key","f1","111");
        redisTemplate.opsForHash().put("key","f2","222");
        redisTemplate.opsForHash().put("key","f3","333");

        String value = (String) redisTemplate.opsForHash().get("key","f1");
        System.out.println(value);

        Boolean exists = redisTemplate.opsForHash().hasKey("key","f1");
        System.out.println(exists);

        redisTemplate.opsForHash().delete("key","f1","f2");

        Long size = redisTemplate.opsForHash().size("key");
        System.out.println(size);

        return "ok";

    }

6. 使⽤ZSet

public String testZset() {
        //先清除之前的数据
        redisTemplate.execute((RedisConnection connection) -> {
            connection.flushAll();
            return null;
        });

        redisTemplate.opsForZSet().add("key","zahngsan",10);

        redisTemplate.opsForZSet().add("key","lisi",20);

        redisTemplate.opsForZSet().add("key","wangwu",30);

        Set<String> members = redisTemplate.opsForZSet().range("key", 0, -1);
        System.out.println(members);

        Set<ZSetOperations.TypedTuple<String>> membersWithScore = redisTemplate.opsForZSet().rangeWithScores("key", 0, -1);
        System.out.println(membersWithScore);

        Double score = redisTemplate.opsForZSet().score("key","zhangsan");
        System.out.println(score);

        redisTemplate.opsForZSet().remove("key","zhangsan");

        Long size = redisTemplate.opsForZSet().size("key");
        System.out.println(size);

        Long rank = redisTemplate.opsForZSet().rank("key","lisi");
        System.out.println(rank);


        return "ok";
    }

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值