redis与Springboot的简单整合

概述

本文主要对redis与springboot的进行了整合,并尝试了对redis的五种类型 String、List、Set 、ZSet、Hash的简单操作
pom.xml
导入spring-data-redis 的依赖以及连接池 的依赖

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
    </dependency>

配置文件
以本地连接为例

spring.redis.database=0
spring.redis.host=localhost
spring.redis.port=6379

pojo
创建Student 类因为需要存取,需要实现序列化

@Data
public class Student implements Serializable {
    private int id;
    private String name;
    private int score;
    private Date birthday;
}

控制层
主要通过RedisTemplate 类的实例对redis进行数据操作

@RestController
public class StudentHandler {
    @Autowired
    private RedisTemplate redisTemplate;
    @GetMapping("/list")
    public List<String> list(){
        ListOperations<String,String> ls=redisTemplate.opsForList();
        ls.leftPush("a","freedom");
        ls.leftPush("a","hello");
        ls.leftPush("a","world");
        //截断方式取值
        List<String> ls1=ls.range("a",0,2);
        return ls1;
    }
    @GetMapping("/set")
    public Set<String> set(){
        SetOperations<String,String> so=redisTemplate.opsForSet();
        so.add("key","123");
        so.add("key","12313");
        so.add("key","83624");
        Set<String> set=so.members("key");
        return set;
    }
    @GetMapping("/zset")
    public Set<String> ZSet(){
        ZSetOperations<String,String> zso=redisTemplate.opsForZSet();
        zso.add("a1","stu0",1);
        zso.add("a1","1",2);
        zso.add("a1","stu2",3);
        Set<String> set=zso.range("a1",0,2);
        return set;
    }
    @GetMapping("/hashMap")
    public void map(){
        HashOperations<String,String,String> hashOperation=redisTemplate.opsForHash();
        hashOperation.put("hash","1","hello");
        hashOperation.put("hash","2","world");
        hashOperation.put("hash","3","!");
       System.out.println(hashOperation.get("hash","2"));
    }
    @PostMapping("/string")
    public Student getString(@RequestBody Student student){
        redisTemplate.opsForValue().set("student",student);
        Student st=(Student)redisTemplate.opsForValue().get("student");
        System.out.println(st);
        return st;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值