Spring Boot在Windows上整合Redis简单教程

目录

Redis到底是什么?

Redis环境搭建

Spring Boot整合Redis


Redis到底是什么?

Redis是一种基于内存进行存储,支持Key-Value格式的开源存储系统,是跨平台的非关系型数据库,是主流nosql中的一种。底层使用C语言编写, Redis因其丰富的数据结构、极快的速度、齐全的功能而为人所知,在互联网上有非常广泛的应用。

Redis环境搭建

因为本人习惯使用windows作为开发环境,在家的时候无法使用公司的Linux系统服务器,所以就将Redis直接安装在本机。 

1、下载

可在Redis官网(redis.io)上进行下载,windows版本也可在我分享的盘中下载 Redis-x64-5.0.10 码为:qing

2、将下载我压缩文件解压。

3、运行CMD

 

4、进入到解压文件夹中,启动Redis-server

启动命令为:

redis-server.exe redis.windows.conf

5、重开一个cmd,进入Redis解压目录,启动客户端管理窗口,在此窗口可操作Redis数据库。

启动Redis客户端命令为:

redis-cli.exe

6、对Redis数据进行操作

添加/修改数据

set key value

set name qinguang

根据Key获取数据

get key

get name

根据Key删除数据

del key

del name

查询Redis中的key

keys [string]*[string]

查询redis中的key可以使用关键字

关闭Redis服务

shutdown

Spring Boot整合Redis

使用Spring Data Redis操作Redis。

1、创建Maven工程。

pom配置信息

    <!--Spring Boot父依赖-->
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.1.5.RELEASE</version>
    </parent>

    <dependencies>
        <!--Spring Boot web组件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--整合Redis使用的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>
        <!--减少实体类开发引入的lombok组件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

2、创建实体类

在右侧mian/java目录下创建包(com.qinguang.entity),在包下创建Book类,该类需要实现序列化接口,否则无法存入Redis数据库。

package com.qinguang.entity;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class Book implements Serializable {
    private Integer id;
    private String name;
    private String isbn;
    private BigDecimal price;
    private Date create_time;
}

3、创建控制器

在右侧mian/java目录下创建包(com.qinguang.controller),在该包下创建BookHandler控制器。

package com.qinguang.controller;

import com.qinguang.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;

@RestController
public class StudentHandler {
    @Autowired
    private RedisTemplate redisTemplate;

    //添加/修改Redis数据
    @PostMapping("/set")
    public void set(@RequestBody Book book){
        redisTemplate.opsForValue().set("book",book);
    }

    /**
     * 根据key获取Redis中的对象
     * @param key
     * @return
     */
    @GetMapping("/get/{key}")
    public Book get(@PathVariable("key") String key){
       return  (Book)redisTemplate.opsForValue().get(key);
    }

    /**
     * 根据key删除Redis中的对象
     * @param key
     * @return
     */
    @DeleteMapping("/delete/{key}")
    public boolean delete(@PathVariable("key") String key){
        redisTemplate.delete(key);
        return redisTemplate.hasKey(key);
    }
}

4、创建配置文件application.yaml

spring:
  redis:
    database: 0
    host: localhost
    port: 6379

5、创建启动类 Application

package com.qinguang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

6、使用postman测试数据CRUD

代码编写完成后,层级如下:

1)先运行java程序

2)打开postman,提交数据

3)获取数据

4)删除数据

具体数据变更情况,可每次操作后使用redis-cli客户端查看数据库。

注意:因为序列化的原因,记录在Redis中的key会有前缀。

至此,Redis整合完成。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广哥教打杂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值